Java Code Examples for com.amazonaws.services.ec2.model.RunInstancesResult#setReservation()
The following examples show how to use
com.amazonaws.services.ec2.model.RunInstancesResult#setReservation() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 6 votes |
@Test // Happy path test flow for launching nodes public void testLaunchNodes() throws NodesCouldNotBeStartedException{ MockAmazonEc2Client client = new MockAmazonEc2Client(null); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os="windows"; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; manageEC2.setUserData(userData); List<Instance> instances = manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); RunInstancesRequest request = client.getRunInstancesRequest(); Assert.assertEquals("Min count should match thread count requested", threadCount, request.getMinCount()); Assert.assertEquals("Max count should match thread count requested", threadCount, request.getMaxCount()); Assert.assertEquals("User data should match", userData, request.getUserData()); Assert.assertTrue("No security group should be set", request.getSecurityGroupIds().isEmpty()); Assert.assertNull("No subnet should be set", request.getSubnetId()); Assert.assertNull("No key name should be set", request.getKeyName()); }
Example 2
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Test the optional fields for launching a node are indeed optional public void testLaunchNodesOptionalFieldsSet() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os=null; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",linuxImage="linuxImage"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id",subnetId); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_linux_node_ami", linuxImage); manageEC2.setUserData(userData); manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); RunInstancesRequest request = client.getRunInstancesRequest(); Assert.assertEquals("Min count should match thread count requested",threadCount,request.getMinCount()); Assert.assertEquals("Max count should match thread count requested",threadCount,request.getMaxCount()); Assert.assertEquals("User data should match",userData,request.getUserData()); Assert.assertEquals("Image id should match",linuxImage,request.getImageId()); List<String> securityGroups = request.getSecurityGroupIds(); Assert.assertEquals("Only one security group should be set",1,securityGroups.size()); Assert.assertEquals("Only one security group should be set", securityGroup, securityGroups.get(0)); Assert.assertEquals("Subnet ids should match", subnetId, request.getSubnetId()); Assert.assertEquals("Key names should match", keyName, request.getKeyName()); }
Example 3
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Test launching an IE node works correctly public void testLaunchNodesIe() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="internet explorer",os=null; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",windowsImage="windowsImage"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id",subnetId); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_windows_node_ami", windowsImage); manageEC2.setUserData(userData); manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); RunInstancesRequest request = client.getRunInstancesRequest(); Assert.assertEquals("Min count should match thread count requested",threadCount,request.getMinCount()); Assert.assertEquals("Max count should match thread count requested",threadCount,request.getMaxCount()); Assert.assertEquals("User data should match",userData,request.getUserData()); Assert.assertEquals("Image id should match",windowsImage,request.getImageId()); List<String> securityGroups = request.getSecurityGroupIds(); Assert.assertEquals("Only one security group should be set",1,securityGroups.size()); Assert.assertEquals("Only one security group should be set", securityGroup, securityGroups.get(0)); Assert.assertEquals("Subnet ids should match", subnetId, request.getSubnetId()); Assert.assertEquals("Key names should match", keyName, request.getKeyName()); }
Example 4
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Test if a bad OS is specified, it is handled correctly public void testLaunchNodesBadOs() throws NodesCouldNotBeStartedException{ MockAmazonEc2Client client = new MockAmazonEc2Client(null); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os="badOs"; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",windowsImage="windowsImage"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id", subnetId); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_windows_node_ami", windowsImage); manageEC2.setUserData(userData); try{ manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); } catch(RuntimeException e) { Assert.assertTrue("Failure message should be correct",e.getMessage().contains(os)); return; } Assert.fail("Call should fail due to invalid OS"); }
Example 5
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Tests that if no fallback subnets are specified, the correct exception is thrown public void testSubnetNoFallBack() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); AmazonServiceException exception = new AmazonServiceException("message"); exception.setErrorCode("InsufficientInstanceCapacity"); client.setThrowDescribeInstancesError(exception); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os="linux"; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",windowsImage="windowsImage"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id", subnetId); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_windows_node_ami", windowsImage); manageEC2.setUserData(userData); try{ manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); } catch(NodesCouldNotBeStartedException e) { Assert.assertTrue("Failure message should be correct",e.getMessage().contains("Sufficient resources were not available in any of the availability zones")); return; } Assert.fail("Call should fail due to insufficient resources"); }
Example 6
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Test that if a fallback subnet is specified, that the request for new nodes will fallback successfully and nodes will be spun up public void testSubnetFallsBackSuccessfully() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); AmazonServiceException exception = new AmazonServiceException("message"); exception.setErrorCode("InsufficientInstanceCapacity"); client.setThrowDescribeInstancesError(exception); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os="linux"; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",windowsImage="windowsImage",fallBackSubnet="fallback"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id", subnetId); properties.setProperty(region + "_subnet_fallback_id_1", fallBackSubnet); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_windows_node_ami", windowsImage); manageEC2.setUserData(userData); List<Instance> instances = manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); System.out.print(""); }
Example 7
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Tests that if the client fails for an error other than insufficient capacity, subnet fallback logic is not performed public void testSubnetFallBackUnknownError() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); AmazonServiceException exception = new AmazonServiceException("message"); client.setThrowDescribeInstancesError(exception); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os="linux"; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",windowsImage="windowsImage"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id", subnetId); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_windows_node_ami", windowsImage); manageEC2.setUserData(userData); try{ manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); } catch(AmazonServiceException e) { Assert.assertEquals("Exception should be the same",exception,e); return; } Assert.fail("Call should fail due to other AWS error"); }
Example 8
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 5 votes |
@Test // Tests that the built in guard against an infinite loop in the fallback recursive logic has a working safeguard public void testSubnetInfiniteLoop() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); client.setThrowExceptionsInRunInstancesIndefinitely(); AmazonServiceException exception = new AmazonServiceException("message"); exception.setErrorCode("InsufficientInstanceCapacity"); client.setThrowDescribeInstancesError(exception); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os="linux"; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup",subnetId="subnetId",keyName="keyName",windowsImage="windowsImage"; properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id", subnetId); properties.setProperty(region + "_subnet_fallback_id_1", "foo"); properties.setProperty(region + "_subnet_fallback_id_2", "foo"); properties.setProperty(region + "_subnet_fallback_id_3", "foo"); properties.setProperty(region + "_subnet_fallback_id_4", "foo"); properties.setProperty(region + "_subnet_fallback_id_5", "foo"); properties.setProperty(region + "_subnet_fallback_id_6", "foo"); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_windows_node_ami", windowsImage); manageEC2.setUserData(userData); try{ manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); } catch(NodesCouldNotBeStartedException e) { Assert.assertTrue("Failure message should be correct",e.getMessage().contains("Sufficient resources were not available in any of the availability zones")); return; } Assert.fail("Call should fail due to insufficient resources"); }
Example 9
Source File: VmManagerTest.java From SeleniumGridScaler with GNU General Public License v2.0 | 4 votes |
@Test // Test if multiple security groups can be passed when launching a node public void testLaunchNodesMultipleSecurityGroups() throws NodesCouldNotBeStartedException { MockAmazonEc2Client client = new MockAmazonEc2Client(null); RunInstancesResult runInstancesResult = new RunInstancesResult(); Reservation reservation = new Reservation(); reservation.setInstances(Arrays.asList(new Instance())); runInstancesResult.setReservation(reservation); client.setRunInstances(runInstancesResult); Properties properties = new Properties(); String region = "east", uuid="uuid",browser="chrome",os=null; Integer threadCount = 5,maxSessions=5; MockManageVm manageEC2 = new MockManageVm(client,properties,region); String userData = "userData"; String securityGroup="securityGroup1,securityGroup2,securityGroup3",subnetId="subnetId",keyName="keyName",linuxImage="linuxImage"; String[] splitSecurityGroupdIds = securityGroup.split(","); List securityGroupIdsAryLst = new ArrayList(); if (securityGroup != null) { for (int i = 0; i < splitSecurityGroupdIds.length; i++) { securityGroupIdsAryLst.add(splitSecurityGroupdIds[i]); } } properties.setProperty(region + "_security_group",securityGroup); properties.setProperty(region + "_subnet_id",subnetId); properties.setProperty(region + "_key_name", keyName); properties.setProperty(region + "_linux_node_ami", linuxImage); manageEC2.setUserData(userData); manageEC2.launchNodes(uuid,os,browser,null,threadCount,maxSessions); RunInstancesRequest request = client.getRunInstancesRequest(); request.setSecurityGroupIds(securityGroupIdsAryLst); List<String> securityGroups = request.getSecurityGroupIds(); List<String> expectedSecurityGroups = Arrays.asList("securityGroup1,securityGroup2,securityGroup3".split(",")); Assert.assertTrue("Security groups should match all given security groups", securityGroups.containsAll(expectedSecurityGroups)); List<String> invalidSecurityGroups = Arrays.asList("securityGroup1,securityGroup2,securityGroup7".split(",")); Assert.assertFalse("Security groups should match only the set security groups", securityGroups.containsAll(invalidSecurityGroups)); Assert.assertFalse("Security group should not be empty", request.getSecurityGroupIds().isEmpty()); Assert.assertEquals("More than 1 security group should be set",3,securityGroups.size()); }