public void testApply() { String id = "1"; String jobId = "2"; CloudStackClient client = createMock(CloudStackClient.class); Predicate<String> jobComplete = Predicates.alwaysTrue(); AsyncJobClient jobClient = createMock(AsyncJobClient.class); expect(client.getAsyncJobClient()).andReturn(jobClient).atLeastOnce(); expect(jobClient.getAsyncJob(jobId)).andReturn(AsyncJob.builder().id(jobId).result("foo").build()).atLeastOnce(); replay(client); replay(jobClient); assertEquals( new BlockUntilJobCompletesAndReturnResult(client, jobComplete).<String>apply(AsyncCreateResponse.builder().id(id).jobId( jobId).build()), "foo"); verify(client); verify(jobClient); }
public void testAssociateWorks() throws SecurityException, NoSuchMethodException { // create mocks CloudStackClient client = createMock(CloudStackClient.class); BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult = createMock(BlockUntilJobCompletesAndReturnResult.class); AddressClient addressClient = createMock(AddressClient.class); expect(client.getAddressClient()).andReturn(addressClient).atLeastOnce(); // no ip addresses available expect(addressClient.listPublicIPAddresses(allocatedOnly(true).networkId(networkId))).andReturn( ImmutableSet.<PublicIPAddress> of()); AsyncCreateResponse job = AsyncCreateResponse.builder().id("1").jobId("2").build(); // make sure we created the job relating to a new ip expect(addressClient.associateIPAddressInZone(zoneId, networkId(networkId))).andReturn(job); expect(blockUntilJobCompletesAndReturnResult.apply(job)).andReturn(address); replay(client); replay(addressClient); replay(blockUntilJobCompletesAndReturnResult); assertEquals( new ReuseOrAssociateNewPublicIPAddress(client, blockUntilJobCompletesAndReturnResult).apply(Network .builder().id(networkId).zoneId(zoneId).build()), address); verify(client); verify(addressClient); verify(blockUntilJobCompletesAndReturnResult); }
public void testApply() { String id = "1"; String jobId = "2"; CloudStackApi client = createMock(CloudStackApi.class); Predicate<String> jobComplete = Predicates.alwaysTrue(); AsyncJobApi jobClient = createMock(AsyncJobApi.class); expect(client.getAsyncJobApi()).andReturn(jobClient).atLeastOnce(); expect(jobClient.getAsyncJob(jobId)).andReturn(AsyncJob.builder().id(jobId).result("foo").build()).atLeastOnce(); replay(client); replay(jobClient); assertEquals( new BlockUntilJobCompletesAndReturnResult(client, jobComplete).<String>apply(AsyncCreateResponse.builder().id(id).jobId( jobId).build()), "foo"); verify(client); verify(jobClient); }
public void testCreateTagsWhenResponseIs2xx() { TagApi client = requestSendsResponse( HttpRequest.builder().method("GET") .endpoint("http://localhost:8080/client/api") .addQueryParam("response", "json") .addQueryParam("command", "createTags") .addQueryParam("resourcetype", "Template") .addQueryParam("resourceids", "52d89d5d-6070-4fd4-8131-c6c9ca4b062e") .addQueryParam("tags[0].key", "some-tag") .addQueryParam("tags[0].value", "some-value") .addQueryParam("apiKey", "identity") .addQueryParam("signature", "HDGTKGG9kONEwh5xlLe9R72z+9Q=") .addHeader("Accept", "application/json") .build(), HttpResponse.builder() .statusCode(200) .payload(payloadFromResource("/createtagsresponse.json")) .build() ); AsyncCreateResponse async = client.createTags(CreateTagsOptions.Builder.resourceType("Template") .resourceIds("52d89d5d-6070-4fd4-8131-c6c9ca4b062e") .tags(ImmutableMap.of("some-tag", "some-value"))); assertEquals( async, AsyncCreateResponse.builder().jobId("32cfab73-f221-4b2b-a728-a73e924ac95d").build()); }
public void testAssociateWorks() throws SecurityException, NoSuchMethodException { // create mocks CloudStackApi client = createMock(CloudStackApi.class); BlockUntilJobCompletesAndReturnResult blockUntilJobCompletesAndReturnResult = createMock(BlockUntilJobCompletesAndReturnResult.class); AddressApi addressClient = createMock(AddressApi.class); expect(client.getAddressApi()).andReturn(addressClient).atLeastOnce(); // no ip addresses available expect(addressClient.listPublicIPAddresses(allocatedOnly(true).networkId(networkId))).andReturn( ImmutableSet.<PublicIPAddress> of()); AsyncCreateResponse job = AsyncCreateResponse.builder().id("1").jobId("2").build(); // make sure we created the job relating to a new ip expect(addressClient.associateIPAddressInZone(zoneId, networkId(networkId))).andReturn(job); expect(blockUntilJobCompletesAndReturnResult.apply(job)).andReturn(address); replay(client); replay(addressClient); replay(blockUntilJobCompletesAndReturnResult); assertEquals( new ReuseOrAssociateNewPublicIPAddress(client, blockUntilJobCompletesAndReturnResult).apply(Network .builder().id(networkId).zoneId(zoneId).build()), address); verify(client); verify(addressClient); verify(blockUntilJobCompletesAndReturnResult); }
@Test(expectedExceptions = UncheckedExecutionException.class) public void testJobWithErrorThrowsUncheckedExecutionException() { String id = "1"; String jobId = "2"; CloudStackApi client = createMock(CloudStackApi.class); Predicate<String> jobComplete = Predicates.alwaysTrue(); AsyncJobApi jobClient = createMock(AsyncJobApi.class); expect(client.getAsyncJobApi()).andReturn(jobClient).atLeastOnce(); expect(jobClient.getAsyncJob(jobId)).andReturn( AsyncJob.builder().id(jobId) .error(AsyncJobError.builder().errorCode(ErrorCode.INTERNAL_ERROR).errorText("ERRROR").build()) .result("foo").build()) .atLeastOnce(); replay(client); replay(jobClient); assertEquals( new BlockUntilJobCompletesAndReturnResult(client, jobComplete).<String>apply( AsyncCreateResponse.builder().id(id).jobId(jobId).build()), "foo"); verify(client); verify(jobClient); } }
@Test(expectedExceptions = UncheckedExecutionException.class) public void testJobWithErrorThrowsUncheckedExecutionException() { String id = "1"; String jobId = "2"; CloudStackClient client = createMock(CloudStackClient.class); Predicate<String> jobComplete = Predicates.alwaysTrue(); AsyncJobClient jobClient = createMock(AsyncJobClient.class); expect(client.getAsyncJobClient()).andReturn(jobClient).atLeastOnce(); expect(jobClient.getAsyncJob(jobId)).andReturn( AsyncJob.builder().id(jobId) .error(AsyncJobError.builder().errorCode(ErrorCode.INTERNAL_ERROR).errorText("ERRROR").build()) .result("foo").build()) .atLeastOnce(); replay(client); replay(jobClient); assertEquals( new BlockUntilJobCompletesAndReturnResult(client, jobComplete).<String>apply( AsyncCreateResponse.builder().id(id).jobId(jobId).build()), "foo"); verify(client); verify(jobClient); } }
@Test(expectedExceptions = IllegalStateException.class) public void testJobDoesntCompleteThrowsIllegalStateException() { String id = "1"; String jobId = "2"; CloudStackApi client = createMock(CloudStackApi.class); // the alwaysfalse predicate should blow up with IllegalStateException Predicate<String> jobComplete = Predicates.alwaysFalse(); AsyncJobApi jobClient = createMock(AsyncJobApi.class); expect(client.getAsyncJobApi()).andReturn(jobClient).atLeastOnce(); expect(jobClient.getAsyncJob(jobId)).andReturn(AsyncJob.builder().id(jobId).result("foo").build()).atLeastOnce(); replay(client); replay(jobClient); assertEquals( new BlockUntilJobCompletesAndReturnResult(client, jobComplete).<String>apply( AsyncCreateResponse.builder().id(id).jobId(jobId).build()), "foo"); verify(client); verify(jobClient); }
@Test(expectedExceptions = IllegalStateException.class) public void testJobDoesntCompleteThrowsIllegalStateException() { String id = "1"; String jobId = "2"; CloudStackClient client = createMock(CloudStackClient.class); // the alwaysfalse predicate should blow up with IllegalStateException Predicate<String> jobComplete = Predicates.alwaysFalse(); AsyncJobClient jobClient = createMock(AsyncJobClient.class); expect(client.getAsyncJobClient()).andReturn(jobClient).atLeastOnce(); expect(jobClient.getAsyncJob(jobId)).andReturn(AsyncJob.builder().id(jobId).result("foo").build()).atLeastOnce(); replay(client); replay(jobClient); assertEquals( new BlockUntilJobCompletesAndReturnResult(client, jobComplete).<String>apply( AsyncCreateResponse.builder().id(id).jobId(jobId).build()), "foo"); verify(client); verify(jobClient); }
public T fromAsyncCreateResponse(AsyncCreateResponse in) { return this .id(in.getId()) .jobId(in.getJobId()); } }
public void testDeployVirtualMachineIs2xxVersion3x() { HttpResponse deployVirtualMachineInZoneResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/deployvirtualmachineresponse.json")).build(); VirtualMachineApi client = requestSendsResponse(deployVirtualMachineInZone, deployVirtualMachineInZoneResponse); AsyncCreateResponse async = client.deployVirtualMachineInZone("zone1", "serviceOffering1", "template1"); assertEquals(async, AsyncCreateResponse.builder().id("1234").jobId("50006").build()); }
public void testDeployVirtualMachineIs2xxVersion4x() { HttpResponse deployVirtualMachineInZoneResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/deployvirtualmachineresponse4x.json")).build(); VirtualMachineApi client = requestSendsResponse(deployVirtualMachineInZone, deployVirtualMachineInZoneResponse); AsyncCreateResponse async = client.deployVirtualMachineInZone("zone1", "serviceOffering1", "template1"); assertEquals( async, AsyncCreateResponse.builder().id("1cce6cb7-2268-47ff-9696-d9e610f6619a") .jobId("13330fc9-8b3e-4582-aa3e-90883c041ff0").build()); }
@Override @SelectJson({ "deployvirtualmachine", "deployvirtualmachineresponse" }) public AsyncCreateResponse expected() { return AsyncCreateResponse.builder().id("1234").jobId("50006").build(); } }
@Override @SelectJson({ "deployvirtualmachine", "deployvirtualmachineresponse" }) public AsyncCreateResponse expected() { return AsyncCreateResponse.builder().id("1cce6cb7-2268-47ff-9696-d9e610f6619a") .jobId("13330fc9-8b3e-4582-aa3e-90883c041ff0").build(); } }
public void testDeployVirtualMachineIs2xxVersion4x() { HttpResponse deployVirtualMachineInZoneResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/deployvirtualmachineresponse4x.json")).build(); VirtualMachineClient client = requestSendsResponse(deployVirtualMachineInZone, deployVirtualMachineInZoneResponse); AsyncCreateResponse async = client.deployVirtualMachineInZone("zone1", "serviceOffering1", "template1"); assertEquals( async, AsyncCreateResponse.builder().id("1cce6cb7-2268-47ff-9696-d9e610f6619a") .jobId("13330fc9-8b3e-4582-aa3e-90883c041ff0").build()); }
public T fromAsyncCreateResponse(AsyncCreateResponse in) { return this .id(in.getId()) .jobId(in.getJobId()); } }
@Override @SelectJson({ "deployvirtualmachine", "deployvirtualmachineresponse" }) public AsyncCreateResponse expected() { return AsyncCreateResponse.builder().id("1234").jobId("50006").build(); } }
@Override @SelectJson({ "deployvirtualmachine", "deployvirtualmachineresponse" }) public AsyncCreateResponse expected() { return AsyncCreateResponse.builder().id("1cce6cb7-2268-47ff-9696-d9e610f6619a") .jobId("13330fc9-8b3e-4582-aa3e-90883c041ff0").build(); } }
public T fromAsyncCreateResponse(AsyncCreateResponse in) { return this .id(in.getId()) .jobId(in.getJobId()); } }
public void testDeployVirtualMachineIs2xxVersion3x() { HttpResponse deployVirtualMachineInZoneResponse = HttpResponse.builder().statusCode(200) .payload(payloadFromResource("/deployvirtualmachineresponse.json")).build(); VirtualMachineClient client = requestSendsResponse(deployVirtualMachineInZone, deployVirtualMachineInZoneResponse); AsyncCreateResponse async = client.deployVirtualMachineInZone("zone1", "serviceOffering1", "template1"); assertEquals(async, AsyncCreateResponse.builder().id("1234").jobId("50006").build()); }