public void testCreateDatabagsIfNecessaryWithMultipleDatabagsAndMultipleItemsAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databagFoo = DataBag.builder().name("foo").item("itemFoo", "{\"foo\":\"bar\"}").build(); DataBag databagBar = DataBag.builder().name("bar").item("itemBar", "{\"bar\":\"foo\"}") .item("extra", "{\"extra\":[]}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databagFoo) .defineDataBag(databagBar).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expectedFoo = createOrOverwriteFile("/tmp/databags/foo/itemFoo.json", ImmutableSet.of("{\"foo\":\"bar\"}")); Statement expectedBar = createOrOverwriteFile("/tmp/databags/bar/itemBar.json", ImmutableSet.of("{\"bar\":\"foo\"}")); Statement expectedExtra = createOrOverwriteFile("/tmp/databags/bar/extra.json", ImmutableSet.of("{\"extra\":[]}")); assertEquals(statementList.size(), 6); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databagFoo.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expectedFoo.render(OsFamily.UNIX)); assertEquals(statementList.get(3), exec("{md} /tmp/databags/" + databagBar.getName())); assertEquals(statementList.get(4).render(OsFamily.UNIX), expectedBar.render(OsFamily.UNIX)); assertEquals(statementList.get(5).render(OsFamily.UNIX), expectedExtra.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithMultipleDatabagsAndMultipleItemsAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databagFoo = DataBag.builder().name("foo").item("itemFoo", "{\"foo\":\"bar\"}").build(); DataBag databagBar = DataBag.builder().name("bar").item("itemBar", "{\"bar\":\"foo\"}") .item("extra", "{\"extra\":[]}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databagFoo) .defineDataBag(databagBar).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expectedFoo = createOrOverwriteFile("/tmp/databags/foo/itemFoo.json", ImmutableSet.of("{\"foo\":\"bar\"}")); Statement expectedBar = createOrOverwriteFile("/tmp/databags/bar/itemBar.json", ImmutableSet.of("{\"bar\":\"foo\"}")); Statement expectedExtra = createOrOverwriteFile("/tmp/databags/bar/extra.json", ImmutableSet.of("{\"extra\":[]}")); assertEquals(statementList.size(), 6); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databagFoo.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expectedFoo.render(OsFamily.UNIX)); assertEquals(statementList.get(3), exec("{md} /tmp/databags/" + databagBar.getName())); assertEquals(statementList.get(4).render(OsFamily.UNIX), expectedBar.render(OsFamily.UNIX)); assertEquals(statementList.get(5).render(OsFamily.UNIX), expectedExtra.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithMultipleDatabagsAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databagFoo = DataBag.builder().name("foo").item("itemFoo", "{\"foo\":\"bar\"}").build(); DataBag databagBar = DataBag.builder().name("bar").item("itemBar", "{\"bar\":\"foo\"}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databagFoo) .defineDataBag(databagBar).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expectedFoo = createOrOverwriteFile("/tmp/databags/foo/itemFoo.json", ImmutableSet.of("{\"foo\":\"bar\"}")); Statement expectedBar = createOrOverwriteFile("/tmp/databags/bar/itemBar.json", ImmutableSet.of("{\"bar\":\"foo\"}")); assertEquals(statementList.size(), 5); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databagFoo.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expectedFoo.render(OsFamily.UNIX)); assertEquals(statementList.get(3), exec("{md} /tmp/databags/" + databagBar.getName())); assertEquals(statementList.get(4).render(OsFamily.UNIX), expectedBar.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithMultipleDatabagsAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databagFoo = DataBag.builder().name("foo").item("itemFoo", "{\"foo\":\"bar\"}").build(); DataBag databagBar = DataBag.builder().name("bar").item("itemBar", "{\"bar\":\"foo\"}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databagFoo) .defineDataBag(databagBar).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expectedFoo = createOrOverwriteFile("/tmp/databags/foo/itemFoo.json", ImmutableSet.of("{\"foo\":\"bar\"}")); Statement expectedBar = createOrOverwriteFile("/tmp/databags/bar/itemBar.json", ImmutableSet.of("{\"bar\":\"foo\"}")); assertEquals(statementList.size(), 5); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databagFoo.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expectedFoo.render(OsFamily.UNIX)); assertEquals(statementList.get(3), exec("{md} /tmp/databags/" + databagBar.getName())); assertEquals(statementList.get(4).render(OsFamily.UNIX), expectedBar.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithOneDatabagWithMultipleItemsAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databag = DataBag.builder().name("foo").item("item1", "{\"foo\":\"bar\"}") .item("item2", "{\"bar\":\"foo\"}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databag).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expectedItem1 = createOrOverwriteFile("/tmp/databags/foo/item1.json", ImmutableSet.of("{\"foo\":\"bar\"}")); Statement expectedItem2 = createOrOverwriteFile("/tmp/databags/foo/item2.json", ImmutableSet.of("{\"bar\":\"foo\"}")); assertEquals(statementList.size(), 4); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databag.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expectedItem1.render(OsFamily.UNIX)); assertEquals(statementList.get(3).render(OsFamily.UNIX), expectedItem2.render(OsFamily.UNIX)); }
public static Builder builder() { return new Builder(); }
public static Builder builder() { return new Builder(); }
public static Builder builder() { return new Builder(); }
public void testCreateDatabagsIfNecessaryWithOneDatabagWithMultipleItemsAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databag = DataBag.builder().name("foo").item("item1", "{\"foo\":\"bar\"}") .item("item2", "{\"bar\":\"foo\"}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databag).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expectedItem1 = createOrOverwriteFile("/tmp/databags/foo/item1.json", ImmutableSet.of("{\"foo\":\"bar\"}")); Statement expectedItem2 = createOrOverwriteFile("/tmp/databags/foo/item2.json", ImmutableSet.of("{\"bar\":\"foo\"}")); assertEquals(statementList.size(), 4); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databag.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expectedItem1.render(OsFamily.UNIX)); assertEquals(statementList.get(3).render(OsFamily.UNIX), expectedItem2.render(OsFamily.UNIX)); }
public static Builder builder() { return new Builder(); }
public static Builder builder() { return new Builder(); }
public static Builder builder() { return new Builder(); }
public void testCreateDatabagsIfNecessaryWithOneDatabagAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databag = DataBag.builder().name("foo").item("item", "{\"foo\":\"bar\"}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databag).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expected = createOrOverwriteFile("/tmp/databags/foo/item.json", ImmutableSet.of("{\"foo\":\"bar\"}")); assertEquals(statementList.size(), 3); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databag.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expected.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithOneDatabag() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databag = DataBag.builder().name("foo").item("item", "{\"foo\":\"bar\"}").build(); ChefSolo solo = ChefSolo.builder().defineDataBag(databag).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expected = createOrOverwriteFile(ChefSolo.DEFAULT_SOLO_PATH + "/data_bags/foo/item.json", ImmutableSet.of("{\"foo\":\"bar\"}")); assertEquals(statementList.size(), 3); assertEquals(statementList.get(0), exec("{md} " + ChefSolo.DEFAULT_SOLO_PATH + "/data_bags")); assertEquals(statementList.get(1), exec("{md} " + ChefSolo.DEFAULT_SOLO_PATH + "/data_bags/" + databag.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expected.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithOneDatabag() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databag = DataBag.builder().name("foo").item("item", "{\"foo\":\"bar\"}").build(); ChefSolo solo = ChefSolo.builder().defineDataBag(databag).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expected = createOrOverwriteFile(ChefSolo.DEFAULT_SOLO_PATH + "/data_bags/foo/item.json", ImmutableSet.of("{\"foo\":\"bar\"}")); assertEquals(statementList.size(), 3); assertEquals(statementList.get(0), exec("{md} " + ChefSolo.DEFAULT_SOLO_PATH + "/data_bags")); assertEquals(statementList.get(1), exec("{md} " + ChefSolo.DEFAULT_SOLO_PATH + "/data_bags/" + databag.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expected.render(OsFamily.UNIX)); }
public void testCreateDatabagsIfNecessaryWithOneDatabagAndCustomPath() { ImmutableList.Builder<Statement> statements = ImmutableList.builder(); DataBag databag = DataBag.builder().name("foo").item("item", "{\"foo\":\"bar\"}").build(); ChefSolo solo = ChefSolo.builder().dataBagPath("/tmp/databags").defineDataBag(databag).build(); solo.createDatabagsIfNecessary(statements); ImmutableList<Statement> statementList = statements.build(); Statement expected = createOrOverwriteFile("/tmp/databags/foo/item.json", ImmutableSet.of("{\"foo\":\"bar\"}")); assertEquals(statementList.size(), 3); assertEquals(statementList.get(0), exec("{md} /tmp/databags")); assertEquals(statementList.get(1), exec("{md} /tmp/databags/" + databag.getName())); assertEquals(statementList.get(2).render(OsFamily.UNIX), expected.render(OsFamily.UNIX)); }