public static Set<org.jclouds.compute.domain.Image> convertImages(String resource) { Map<OsFamily, Map<String, String>> map = new BaseComputeServiceContextModule() { }.provideOsVersionMap(new ComputeServiceConstants.ReferenceData(), Guice.createInjector(new GsonModule()) .getInstance(Json.class)); Set<Image> result = DescribeImagesResponseHandlerTest.parseImages(resource); EC2ImageParser parser = new EC2ImageParser(EC2ComputeServiceDependenciesModule.toPortableImageStatus, new EC2PopulateDefaultLoginCredentialsForImageStrategy(), map, Suppliers .<Set<? extends Location>> ofInstance(ImmutableSet.<Location> of(defaultLocation)), Suppliers .ofInstance(defaultLocation), new NovaReviseParsedImage(new ImageToOperatingSystem(map))); return Sets.newLinkedHashSet(Iterables.filter(Iterables.transform(result, parser), Predicates.notNull())); }
@Test public void testOEL() { String name = "Oracle EL"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.OEL); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test public void testWindowsServer2008R2x64() { String name = "Windows Server 2008 R2 x64"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); Map<OsFamily, Map<String, String>> osFamilyMap = Maps.newHashMap(); osFamilyMap.put(OsFamily.WINDOWS, ImmutableMap.of("Server 2008 R2", "Server-2008-R2")); ImageToOperatingSystem converter = new ImageToOperatingSystem(osFamilyMap); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.WINDOWS); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), "Server-2008-R2"); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test(dataProvider = "getOsFamilyValues") public void testOsFamilyValues(OsFamily family) { Image imageToConvert = Image.builder().id("id-" + family.name()).name(family.name()).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), family); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test public void testWindowsServer2008R2x64() { String name = "Windows Server 2008 R2 x64"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); Map<OsFamily, Map<String, String>> osFamilyMap = Maps.newHashMap(); osFamilyMap.put(OsFamily.WINDOWS, ImmutableMap.of("Server 2008 R2", "Server-2008-R2")); ImageToOperatingSystem converter = new ImageToOperatingSystem(osFamilyMap); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.WINDOWS); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), "Server-2008-R2"); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test public void testWindows98x86() { String name = "Windows 98 x86"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); Map<OsFamily, Map<String, String>> osFamilyMap = Maps.newHashMap(); osFamilyMap.put(OsFamily.WINDOWS, ImmutableMap.of("98", "98")); ImageToOperatingSystem converter = new ImageToOperatingSystem(osFamilyMap); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.WINDOWS); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), "98"); assertEquals(convertedOs.getArch(), null); assertFalse(convertedOs.is64Bit()); }
@Test public void testRHEL() { String name = "Red Hat EL"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.RHEL); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test public void testWindows98x86() { String name = "Windows 98 x86"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); Map<OsFamily, Map<String, String>> osFamilyMap = Maps.newHashMap(); osFamilyMap.put(OsFamily.WINDOWS, ImmutableMap.of("98", "98")); ImageToOperatingSystem converter = new ImageToOperatingSystem(osFamilyMap); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.WINDOWS); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), "98"); assertEquals(convertedOs.getArch(), null); assertFalse(convertedOs.is64Bit()); }
@Test public void testRHEL() { String name = "Red Hat EL"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.RHEL); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test public void testOEL() { String name = "Oracle EL"; Image imageToConvert = Image.builder().id("id-" + name).name(name).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), OsFamily.OEL); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }
@Test(dataProvider = "getOsFamilyValues") public void testOsFamilyValues(OsFamily family) { Image imageToConvert = Image.builder().id("id-" + family.name()).name(family.name()).build(); ImageToOperatingSystem converter = new ImageToOperatingSystem( new HashMap<OsFamily, Map<String, String>>()); OperatingSystem convertedOs = converter.apply(imageToConvert); assertEquals(convertedOs.getName(), imageToConvert.getName()); assertEquals(convertedOs.getFamily(), family); assertEquals(convertedOs.getDescription(), imageToConvert.getName()); assertEquals(convertedOs.getVersion(), null); assertEquals(convertedOs.getArch(), null); assertTrue(convertedOs.is64Bit()); }