use of com.att.cdp.zones.model.ServerBootSource in project AJSC by att.
the class TestComputeService method testGetServerLazy.
/**
* @throws ZoneException
* If the connection fails or the server cant be found
* @throws IllegalAccessException
* If the fields cant be accessed
* @throws IllegalArgumentException
* If the fields cant be accessed
*/
@Ignore
@Test
public void testGetServerLazy() throws ZoneException, IllegalArgumentException, IllegalAccessException {
Context context = connect();
ComputeService computeService = context.getComputeService();
Server server = computeService.getServer(TEST_SERVER_UUID);
/*
* Make sure that we have not obtained any of the transitive dependencies yet
*/
assertNotNull(server);
AtomicBoolean ab = (AtomicBoolean) volumeAttachmentsProcessedField.get(server);
assertNotNull(ab);
assertFalse(ab.get());
ab = (AtomicBoolean) imagesProcessedField.get(server);
assertNotNull(ab);
assertFalse(ab.get());
ab = (AtomicBoolean) networksProcessedField.get(server);
assertNotNull(ab);
assertFalse(ab.get());
/*
* Now, get the network and ensure that it is correct
*/
List<Network> networks = server.getNetworks();
assertNotNull(networks);
assertFalse(networks.isEmpty());
boolean found = false;
for (Network network : networks) {
if (network.getName().equals(TEST_NETWORK_NAME)) {
found = true;
break;
}
}
assertTrue(found);
ab = (AtomicBoolean) networksProcessedField.get(server);
assertNotNull(ab);
assertTrue(ab.get());
ab = (AtomicBoolean) volumeAttachmentsProcessedField.get(server);
assertNotNull(ab);
assertFalse(ab.get());
ab = (AtomicBoolean) imagesProcessedField.get(server);
assertNotNull(ab);
assertFalse(ab.get());
/*
* Now, determine the boot source and image, this will cause the images to be processed
*/
ServerBootSource bs = server.getBootSource();
assertNotNull(bs);
assertTrue(bs.equals(ServerBootSource.IMAGE) || bs.equals(ServerBootSource.SNAPSHOT));
String image = server.getImage();
assertNotNull(image);
ab = (AtomicBoolean) networksProcessedField.get(server);
assertNotNull(ab);
assertTrue(ab.get());
ab = (AtomicBoolean) imagesProcessedField.get(server);
assertNotNull(ab);
assertTrue(ab.get());
ab = (AtomicBoolean) volumeAttachmentsProcessedField.get(server);
assertNotNull(ab);
assertFalse(ab.get());
/*
* Now, lets see if there are any volume attachments. This will load the volumes transitive relationship
*/
Map<String, Volume> volumes = server.getVolumes();
assertNotNull(volumes);
ab = (AtomicBoolean) networksProcessedField.get(server);
assertNotNull(ab);
assertTrue(ab.get());
ab = (AtomicBoolean) imagesProcessedField.get(server);
assertNotNull(ab);
assertTrue(ab.get());
ab = (AtomicBoolean) volumeAttachmentsProcessedField.get(server);
assertNotNull(ab);
assertTrue(ab.get());
}
Aggregations