@Test public void testGenerateCookbooksArchive() throws IOException { Long testAccountId = Long.valueOf(4); Long testAppId = Long.valueOf(4); Long testVcId = Long.valueOf(4); File vcDirectory = new File(vcCookbookDestinationRoot + "/" + testVcId); ensureFileNotExists(vcDirectory); File accountDirectory = new File(cookbookDestinationRoot + "/" + testAccountId); ensureFileNotExists(accountDirectory); File cookbookInput = new File("src/test/resources/test-xlc-fds"); File cookbookTarget = new File( cookbookDestinationRoot + "/" + testAccountId + "/" + testAppId + "/" + "test-xlc-fds"); CookbookModel cookbookModel = CookbookModelBuilder.newInstance().name("test-xlc-fds").build(); Set<CookbookModel> cookbooks = new HashSet<CookbookModel>(Arrays.asList(cookbookModel)); ApplicationModel appModel = ApplicationModelBuilder.newInstance() .accountId(testAccountId) .appId(testAppId) .cookbooks(cookbooks) .build(); cookbookModel.setApplication(appModel); VirtualClusterModel vcModel = VirtualClusterModelBuilder.newInstance().build(); givenApplicationExists(appModel); givenCookbookExists(cookbookModel); givenCookbookFileExists(cookbookInput, cookbookTarget); givenVirtualClusterExists(vcModel); Application startingApplication = ApplicationBuilder.newInstance().id(testAppId).build(); VirtualCluster startingVirtualCluster = VirtualClusterBuilder.newInstance().id(testVcId).build(); String url = manager.generateCookbooksArchive( Arrays.asList(startingApplication), startingVirtualCluster); File outputFile = new File(vcCookbookDestinationRoot + "/" + testVcId + "/" + cookbooksArchiveName); assertTrue(outputFile.exists()); assertEquals(vcCookbookUrlBase + testVcId + "/" + cookbooksArchiveName, url); ensureFileNotExists(vcDirectory); }