@Override public boolean supports(ComputeService computeService) { try { computeService.getContext().unwrapApi(NovaApi.class); return true; } catch (IllegalArgumentException e) { return false; } }
ComputeServiceContext context = ContextBuilder.newBuilder("aws-ec2") .credentials("accessKey", "secretAccessKey") .buildView(ComputeServiceContext.class); ComputeService computeService = context.getComputeService(); AWSEC2Api ec2Api = context.unwrapApi(AWSEC2Api.class);
/** * Return DockerApi for current Context. * * @return */ private DockerApi api() { return view.unwrapApi(DockerApi.class); }
/** * Returns the @{link SecurityGroupApi} for the target location. */ private static Optional<? extends SecurityGroupApi> getSecurityGroup(ComputeService computeService, String location) { return computeService.getContext().unwrapApi(NovaApi.class) .getSecurityGroupExtensionForZone(location); }
@BeforeMethod(alwaysRun=true) public void setUp() throws Exception { MockitoAnnotations.initMocks(this); // stock mock responses when(computeService.getContext()).thenReturn(computeServiceContext); when(computeServiceContext.unwrapApi(AzureComputeApi.class)).thenReturn(azureComputeApi); when(azureComputeApi.getResourceGroupApi()).thenReturn(resourceGroupApi); when(azureComputeApi.getSubnetApi(TEST_RESOURCE_GROUP, TEST_NETWORK_NAME)).thenReturn(subnetApi); when(azureComputeApi.getVirtualNetworkApi(TEST_RESOURCE_GROUP)).thenReturn(virtualNetworkApi); when(subnet.id()).thenReturn(TEST_SUBNET_ID); }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); ec2Api = view.unwrapApi(EC2Api.class); client = ec2Api.getElasticIPAddressApi().get(); }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); api = view.unwrapApi(AWSEC2Api.class); subnetClient = api.getAWSSubnetApi().get(); vpcClient = view.unwrapApi(AWSEC2Api.class).getVPCApi().get(); tagApi = api.getTagApiForRegion(region).get(); }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); ec2Api = view.unwrapApi(EC2Api.class); client = ec2Api.getKeyPairApi().get(); }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); ec2Api = view.unwrapApi(EC2Api.class); client = ec2Api.getInstanceApi().get(); }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); client = view.unwrapApi(AWSEC2Api.class).getInstanceApi().get(); }
@Test(expectedExceptions = AWSResponseException.class) void testInvalidFilterInstances() { for (String region : view.unwrapApi(EC2Api.class).getAvailabilityZoneAndRegionApi().get().describeRegions().keySet()) { Set<? extends Reservation<? extends RunningInstance>> filterResults = client.describeInstancesInRegionWithFilter(region, ImmutableMultimap.<String, String>builder() .put("invalid-key", "some-value") .build()); } }}
@Override protected void initializeContext() { super.initializeContext(); resourceDeleted = context.utils().injector().getInstance(Key.get(new TypeLiteral<Predicate<URI>>() { }, Names.named(TIMEOUT_RESOURCE_DELETED))); api = view.unwrapApi(AzureComputeApi.class); }
@Test void testDescribeInstances() { for (String region : view.unwrapApi(AWSEC2Api.class).getAvailabilityZoneAndRegionApi().get().describeRegions().keySet()) { Set<? extends Reservation<? extends RunningInstance>> allResults = client.describeInstancesInRegion(region); assertNotNull(allResults); for (Reservation<? extends RunningInstance> result : allResults) { assertNotNull(result.getReservationId()); } } } }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); ec2Api = view.unwrapApi(EC2Api.class); client = ec2Api.getElasticBlockStoreApi().get(); AvailabilityZoneInfo info = Iterables.get(ec2Api.getAvailabilityZoneAndRegionApi().get() .describeAvailabilityZonesInRegion(defaultRegion), 0); defaultRegion = checkNotNull(Strings.emptyToNull(info.getRegion()), "region of " + info); defaultZone = checkNotNull(Strings.emptyToNull(info.getZone()), "zone of " + info); }
@Override protected void initializeContext() { super.initializeContext(); resourceDeleted = context.utils().injector().getInstance(Key.get(new TypeLiteral<Predicate<URI>>() { }, Names.named(TIMEOUT_RESOURCE_DELETED))); publicIpAvailable = context.utils().injector().getInstance(PublicIpAvailablePredicateFactory.class); resourceAvailable = context.utils().injector() .getInstance(Key.get(new TypeLiteral<Predicate<Supplier<Provisionable>>>() { })); api = view.unwrapApi(AzureComputeApi.class); }
@Override protected Iterable<? extends Image> listImages() { AWSEC2Api client = view.unwrapApi(AWSEC2Api.class); String[] parts = AWSUtils.parseHandle(imageId); String region = parts[0]; String imageId = parts[1]; EC2ImageParser parser = view.utils().injector().getInstance(EC2ImageParser.class); return transform( client.getAMIApi().get().describeImagesInRegion(region, new DescribeImagesOptions().imageIds(imageId)), parser); }
@Override @BeforeClass(groups = { "integration", "live" }) public void setupContext() { super.setupContext(); client = view.unwrapApi(AWSEC2Api.class); availableTester = retry(new PlacementGroupAvailable(client), 60, 1, SECONDS); deletedTester = retry(new PlacementGroupDeleted(client), 60, 1, SECONDS); }
private void createResourceGroup(String name) { Location location = getNodeTemplate().build().getLocation(); view.unwrapApi(AzureComputeApi.class).getResourceGroupApi().create(name, location.getId(), null); } }
@Override @BeforeClass public void setupContext() { super.setupContext(); // Use the resource name conventions used in the abstraction location = view.getComputeService().templateBuilder().build().getLocation().getId(); view.unwrapApi(AzureComputeApi.class).getResourceGroupApi().create(group, location, null); imageApi = api.getVirtualMachineImageApi(group); }
@Override @BeforeClass public void setupContext() { super.setupContext(); // Use the resource name conventions used in the abstraction so the nodes // can see the load balancer location = view.getComputeService().templateBuilder().build().getLocation().getId(); view.unwrapApi(AzureComputeApi.class).getResourceGroupApi().create(group, location, null); lbApi = api.getLoadBalancerApi(group); nicApi = api.getNetworkInterfaceCardApi(group); }