@Test public void testEqualsAndHashCode_4() { ApplicationTemplate app1 = new ApplicationTemplate( "app" ).version( "v1" ); ApplicationTemplate app2 = new ApplicationTemplate( "app" ).version( "v3" ); HashSet<ApplicationTemplate> set = new HashSet<>( 2 ); set.add( app1 ); set.add( app2 ); Assert.assertEquals( 2, set.size()); }
@Test public void testEqualsAndHashCode_3() { ApplicationTemplate app1 = new ApplicationTemplate(); ApplicationTemplate app2 = new ApplicationTemplate( "app" ).version( "whatever" ); HashSet<ApplicationTemplate> set = new HashSet<>( 2 ); set.add( app1 ); set.add( app2 ); Assert.assertEquals( 2, set.size()); }
alr.applicationTemplate = new ApplicationTemplate( Constants.GENERATED ).dslId( Constants.GENERATED ).version( Constants.GENERATED );
/** * Finds the icon associated with an application template. * @param name the application or template name * @param qualifier the template qualifier or <code>null</code> for an application * @param configurationDirectory the DM's configuration directory * @return an existing file, or null if no icon was found */ public static File findIcon( String name, String qualifier, File configurationDirectory ) { // Deal with an invalid directory if( configurationDirectory == null ) return null; // Find the root directory File root; if( ! Utils.isEmptyOrWhitespaces( qualifier )) { ApplicationTemplate tpl = new ApplicationTemplate( name ).version( qualifier ); root = ConfigurationUtils.findTemplateDirectory( tpl, configurationDirectory ); } else { root = ConfigurationUtils.findApplicationDirectory( name, configurationDirectory ); } // Find an icon in the directory return IconUtils.findIcon( root ); }
@Test public void testFindIcon_nullConfigDirectory() throws Exception { // In case we try to get an icon while the DM is reconfigured ApplicationTemplate tpl = new ApplicationTemplate( "app" ).version( "v1" ); Assert.assertNull( IconUtils.findIcon( tpl )); } }
@Test public void testFindIcon_tpl() throws Exception { File appDir = this.folder.newFolder(); ApplicationTemplate tpl = new ApplicationTemplate( "app" ).version( "v1" ).directory( appDir ); File descDir = new File( appDir, Constants.PROJECT_DIR_DESC ); Assert.assertTrue( descDir.mkdirs()); File trickFile = new File( descDir, "file.txt" ); Assert.assertTrue( trickFile.createNewFile()); Assert.assertNull( IconUtils.findIcon( tpl )); File singleJpgFile = new File( descDir, "whatever.jpg" ); Assert.assertTrue( singleJpgFile.createNewFile()); Assert.assertEquals( singleJpgFile, IconUtils.findIcon( tpl )); File defaultFile = new File( descDir, "application.sVg" ); Assert.assertTrue( defaultFile.createNewFile()); Assert.assertEquals( defaultFile, IconUtils.findIcon( tpl )); Assert.assertNull( IconUtils.findIcon( new ApplicationTemplate( "app" ).version( "" ))); Assert.assertNull( IconUtils.findIcon( new ApplicationTemplate( "app" ).version( "" ))); Assert.assertNull( IconUtils.findIcon( new ApplicationTemplate( "app" ).version( "v2" ))); }
@Test public void testFindIconUrl() throws Exception { // Create fake icons ApplicationTemplate tpl = new ApplicationTemplate( "tpl" ).version( "v1" ).directory( this.folder.newFolder()); File descDir = new File( tpl.getDirectory(), Constants.PROJECT_DIR_DESC ); Assert.assertTrue( descDir.mkdirs()); Assert.assertTrue( new File( descDir, "tp.jpg" ).createNewFile()); Application app = new Application( "app", tpl ).directory( this.folder.newFolder()); descDir = new File( app.getDirectory(), Constants.PROJECT_DIR_DESC ); Assert.assertTrue( descDir.mkdirs()); Assert.assertTrue( new File( descDir, "whatever.jpg" ).createNewFile()); // Check the URLs Assert.assertEquals( "/tpl/v1/tp.jpg", IconUtils.findIconUrl( tpl )); Assert.assertEquals( "/app/whatever.jpg", IconUtils.findIconUrl( app )); // And we delete the icon Utils.deleteFilesRecursively( descDir ); Assert.assertEquals( "", IconUtils.findIconUrl( app )); }
@Test public void testInvalidChildInstance_2() throws Exception { Component vmComponent = new Component( "VM" ).installerName( "target" ); Component tomcatComponent = new Component( "Tomcat" ).installerName( "puppet" ); Graphs graphs = new Graphs(); graphs.getRootComponents().add( vmComponent ); // We cannot instantiate a VM under a VM Instance vmInstance = new Instance("vm" ).component( vmComponent ); Instance tomcatInstance = new Instance("tomcat" ).component( tomcatComponent ); InstanceHelpers.insertChild( vmInstance, tomcatInstance ); ApplicationTemplate app = new ApplicationTemplate( "app" ).version( "2.4" ).graphs( graphs ); app.getRootInstances().add( vmInstance ); Iterator<ModelError> iterator = RuntimeModelValidator.validate( app ).iterator(); Assert.assertEquals( ErrorCode.RM_INVALID_INSTANCE_PARENT, iterator.next().getErrorCode()); Assert.assertFalse( iterator.hasNext()); }
InstanceHelpers.insertChild( vmInstance1, vmInstance2 ); ApplicationTemplate app = new ApplicationTemplate( "app" ).version( "2.4" ).graphs( graphs ); app.getRootInstances().add( vmInstance1 );
@Test public void testEquals() { ApplicationTemplate app = new ApplicationTemplate( "app" ); Assert.assertFalse( app.equals( null )); Assert.assertFalse( app.equals( new ApplicationTemplate())); Assert.assertFalse( app.equals( new ApplicationTemplate( "app" ).version( "something" ))); Assert.assertFalse( app.equals( new Object())); Assert.assertEquals( app, app ); Assert.assertEquals( app, new ApplicationTemplate( "app" )); }
@Test public void testChain() { ApplicationTemplate app = new ApplicationTemplate().name( "ins" ).description( "desc" ).version( "snapshot" ).graphs( new Graphs()); Assert.assertEquals( "ins", app.getName()); Assert.assertEquals( "desc", app.getDescription()); Assert.assertEquals( "snapshot", app.getVersion()); Assert.assertNotNull( app.getGraphs()); }
private void saveAndCompare( ApplicationDescriptor desc ) throws Exception { File f = this.folder.newFile(); ApplicationTemplate tpl = new ApplicationTemplate( desc.getTemplateName()).version( desc.getTemplateVersion()); Application app = new Application( desc.getName(), tpl ).description( desc.getDescription()); ApplicationDescriptor.save( f, app ); ApplicationDescriptor desc2 = ApplicationDescriptor.load( f ); Assert.assertEquals( desc.getDescription(), desc2.getDescription()); Assert.assertEquals( desc.getName(), desc2.getName()); Assert.assertEquals( desc.getTemplateName(), desc2.getTemplateName()); Assert.assertEquals( desc.getTemplateVersion(), desc2.getTemplateVersion()); } }
ApplicationTemplate app = new ApplicationTemplate( "name" ).version( "test" ).dslId( ParsingConstants.DSL_VERSION ); Graphs graph = new Graphs(); app.setGraphs( graph );