use of com.hw.helper.Client in project mt-auth by publicdevop2019.
the class ClientIdempotentTest method create_client_then_update_w_same_changeId_two_times_concurrent.
@Test
public void create_client_then_update_w_same_changeId_two_times_concurrent() {
ResponseEntity<DefaultOAuth2AccessToken> tokenResponse = UserUtility.login(AppConstant.ACCOUNT_USERNAME_ADMIN, AppConstant.ACCOUNT_PASSWORD_ADMIN);
String s = UUID.randomUUID().toString();
Client oldClient = ClientUtility.getClientAsResource(AppConstant.CLIENT_ID_RESOURCE_ID);
ResponseEntity<String> client1 = ClientUtility.createClient(oldClient, s);
Assert.assertEquals(HttpStatus.OK, client1.getStatusCode());
oldClient.setAccessTokenValiditySeconds(120);
HttpHeaders headers = new HttpHeaders();
String bearer = tokenResponse.getBody().getValue();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setBearerAuth(bearer);
String s2 = UUID.randomUUID().toString();
headers.set("changeId", s2);
headers.set("X-XSRF-TOKEN", "123");
headers.add(HttpHeaders.COOKIE, "XSRF-TOKEN=123");
oldClient.setVersion(0);
HttpEntity<Client> request = new HttpEntity<>(oldClient, headers);
AtomicReference<Integer> success = new AtomicReference<>(0);
AtomicReference<Integer> failed = new AtomicReference<>(0);
String url = UrlUtility.getAccessUrl(CLIENTS + "/" + client1.getHeaders().getLocation().toString());
Runnable runnable2 = () -> {
TestContext.init();
ResponseEntity<String> exchange = TestContext.getRestTemplate().exchange(url, HttpMethod.PUT, request, String.class);
if (exchange.getStatusCode().is2xxSuccessful()) {
success.set(success.get() + 1);
}
if (exchange.getStatusCode().is4xxClientError()) {
failed.set(failed.get() + 1);
}
};
ArrayList<Runnable> runnables = new ArrayList<>();
runnables.add(runnable2);
runnables.add(runnable2);
try {
assertConcurrent("", runnables, 30000);
Assert.assertEquals(1, (int) success.get());
Assert.assertEquals(1, (int) failed.get());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
use of com.hw.helper.Client in project mt-auth by publicdevop2019.
the class ClientIdempotentTest method create_client_then_delete_w_same_changeId_two_times_concurrent.
@Test
public void create_client_then_delete_w_same_changeId_two_times_concurrent() {
ResponseEntity<DefaultOAuth2AccessToken> tokenResponse = UserUtility.login(AppConstant.ACCOUNT_USERNAME_ADMIN, AppConstant.ACCOUNT_PASSWORD_ADMIN);
String bearer = tokenResponse.getBody().getValue();
String s = UUID.randomUUID().toString();
Client oldClient = ClientUtility.getClientAsResource(AppConstant.CLIENT_ID_RESOURCE_ID);
ResponseEntity<String> client1 = ClientUtility.createClient(oldClient, s);
Assert.assertEquals(HttpStatus.OK, client1.getStatusCode());
oldClient.setAccessTokenValiditySeconds(120);
String url = UrlUtility.getAccessUrl(CLIENTS + "/" + client1.getHeaders().getLocation().toString());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setBearerAuth(bearer);
String s2 = UUID.randomUUID().toString();
headers.set("changeId", s2);
headers.set("X-XSRF-TOKEN", "123");
headers.add(HttpHeaders.COOKIE, "XSRF-TOKEN=123");
HttpEntity<Client> request = new HttpEntity<>(oldClient, headers);
AtomicReference<Integer> success = new AtomicReference<>(0);
AtomicReference<Integer> failed = new AtomicReference<>(0);
Runnable runnable2 = () -> {
TestContext.init();
ResponseEntity<String> exchange = TestContext.getRestTemplate().exchange(url, HttpMethod.DELETE, request, String.class);
if (exchange.getStatusCode().is2xxSuccessful()) {
success.set(success.get() + 1);
}
if (exchange.getStatusCode().is4xxClientError()) {
failed.set(failed.get() + 1);
}
};
ArrayList<Runnable> runnables = new ArrayList<>();
runnables.add(runnable2);
runnables.add(runnable2);
try {
assertConcurrent("", runnables, 30000);
Assert.assertEquals(1, (int) success.get());
Assert.assertEquals(1, (int) failed.get());
} catch (InterruptedException e) {
e.printStackTrace();
}
}
use of com.hw.helper.Client in project mt-auth by publicdevop2019.
the class ClientTest method create_non_resource_client_with_valid_resource_ids_then_able_to_use_this_client_to_login.
@Test
public void create_non_resource_client_with_valid_resource_ids_then_able_to_use_this_client_to_login() {
Client client = ClientUtility.getClientAsNonResource(CLIENT_ID_RESOURCE_ID);
ResponseEntity<String> exchange = ClientUtility.createClient(client);
Assert.assertEquals(HttpStatus.OK, exchange.getStatusCode());
Assert.assertNotNull(exchange.getHeaders().getLocation());
ResponseEntity<DefaultOAuth2AccessToken> tokenResponse1 = OAuth2Utility.getOAuth2PasswordToken(exchange.getHeaders().getLocation().toString(), client.getClientSecret(), ACCOUNT_USERNAME_ADMIN, ACCOUNT_PASSWORD_ADMIN);
Assert.assertEquals(HttpStatus.OK, tokenResponse1.getStatusCode());
Assert.assertNotNull(tokenResponse1.getBody().getValue());
}
use of com.hw.helper.Client in project mt-auth by publicdevop2019.
the class ClientTest method create_client_then_update_it_secret.
@Test
public void create_client_then_update_it_secret() {
ResponseEntity<DefaultOAuth2AccessToken> tokenResponse = UserUtility.login(ACCOUNT_USERNAME_ADMIN, ACCOUNT_PASSWORD_ADMIN);
String bearer = tokenResponse.getBody().getValue();
Client oldClient = ClientUtility.getClientAsNonResource(CLIENT_ID_RESOURCE_ID);
ResponseEntity<String> client1 = ClientUtility.createClient(oldClient);
String url = UrlUtility.getAccessUrl(CLIENTS + "/" + client1.getHeaders().getLocation().toString());
Client newClient = ClientUtility.getClientAsNonResource(CLIENT_ID_RESOURCE_ID);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.setBearerAuth(bearer);
newClient.setVersion(0);
HttpEntity<Client> request = new HttpEntity<>(newClient, headers);
ResponseEntity<String> exchange = TestContext.getRestTemplate().exchange(url, HttpMethod.PUT, request, String.class);
Assert.assertEquals(HttpStatus.OK, exchange.getStatusCode());
ResponseEntity<DefaultOAuth2AccessToken> tokenResponse1 = OAuth2Utility.getOAuth2PasswordToken(client1.getHeaders().getLocation().toString(), newClient.getClientSecret(), ACCOUNT_USERNAME_ADMIN, ACCOUNT_PASSWORD_ADMIN);
Assert.assertEquals(HttpStatus.OK, tokenResponse1.getStatusCode());
Assert.assertNotNull(tokenResponse1.getBody().getValue());
}
use of com.hw.helper.Client in project mt-auth by publicdevop2019.
the class ClientTest method create_client_which_is_resource_itself_with_valid_resource_ids_then_able_to_use_this_client_to_login.
@Test
public void create_client_which_is_resource_itself_with_valid_resource_ids_then_able_to_use_this_client_to_login() {
Client client = ClientUtility.getClientAsResource(CLIENT_ID_RESOURCE_ID);
ResponseEntity<String> exchange = ClientUtility.createClient(client);
Assert.assertEquals(HttpStatus.OK, exchange.getStatusCode());
Assert.assertNotNull(exchange.getHeaders().getLocation());
ResponseEntity<DefaultOAuth2AccessToken> tokenResponse1 = OAuth2Utility.getOAuth2PasswordToken(exchange.getHeaders().getLocation().toString(), client.getClientSecret(), ACCOUNT_USERNAME_ADMIN, ACCOUNT_PASSWORD_ADMIN);
Assert.assertEquals(HttpStatus.OK, tokenResponse1.getStatusCode());
Assert.assertNotNull(tokenResponse1.getBody().getValue());
}
Aggregations