@Test public void testMergedTPC() throws Exception { final List<Model> hierarchy = asList(new Model(), new Model()); final Model pluginModel = hierarchy.get(0); final Model moduleModel = hierarchy.get(1); Xpp3Dom pluginCfg = getConfiguration( getPlugin(pluginModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, true), true); addValueNode(pluginCfg, "pluginValue", "from plugin"); Xpp3Dom moduleCfg = getConfiguration( getPlugin(moduleModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, true), true); addValueNode(moduleCfg, "moduleValue", "from module"); tpcAssembler.assembleTPCInheritance(hierarchy); Plugin mergedTPC = getPlugin(pluginModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, false); assertNotNull(mergedTPC); Xpp3Dom configuration = getConfiguration(mergedTPC, false); assertNotNull(configuration); assertEquals(2, configuration.getChildCount()); }
@Test public void testTPCNotExists() throws Exception { final Model model = new Model(); final List<Model> hierarchy = asList(model); tpcAssembler.assembleTPCInheritance(hierarchy); assertSame(model, hierarchy.get(0)); assertNull(model.getBuild()); }
@Test public void testNullAndEmptyHierarchy() throws Exception { try { tpcAssembler.assembleTPCInheritance(null); fail(); } catch (NullPointerException e) { // expected } try { final List<Model> hierarchy = new ArrayList<Model>(); hierarchy.add(null); tpcAssembler.assembleTPCInheritance(hierarchy); fail(); } catch (NullPointerException e) { // expected } try { tpcAssembler.assembleTPCInheritance(Collections.<Model>emptyList()); fail(); } catch (IllegalArgumentException e) { // expected } }
@Test public void testUseTPCFromPlugin() throws Exception { final List<Model> hierarchy = asList(new Model(), new Model()); final Model pluginModel = hierarchy.get(0); Plugin pluginTPC = getPlugin(pluginModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, true); Xpp3Dom pluginCfg = getConfiguration(pluginTPC, true); addValueNode(pluginCfg, "foo", "bar"); tpcAssembler.assembleTPCInheritance(hierarchy); Plugin actualPluginTPC = getPlugin(pluginModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, false); assertNotNull(actualPluginTPC); // assertSame(pluginTPC, actualPluginTPC); assertEquals(1, pluginModel.getBuild().getPlugins().size()); assertPluginEquals(pluginTPC, actualPluginTPC); }
@Test public void testUseTPCFromModule() throws Exception { final List<Model> hierarchy = asList(new Model(), new Model()); final Model pluginModel = hierarchy.get(0); final Model moduleModel = hierarchy.get(1); Plugin moduleTPC = getPlugin(moduleModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, true); Xpp3Dom moduleCfg = getConfiguration(moduleTPC, true); addValueNode(moduleCfg, "foo", "bar"); tpcAssembler.assembleTPCInheritance(hierarchy); Plugin pluginTPC = getPlugin(pluginModel, TYCHO_GROUP_ID, TYCHO_TPC_PLUGIN_ARTIFACT_ID, false); assertNotNull(pluginTPC); assertNotSame(moduleTPC, pluginTPC); assertPluginEquals(moduleTPC, pluginTPC); Xpp3Dom pluginCfg = getConfiguration(pluginTPC, false); assertNotNull(pluginCfg); assertEquals(1, pluginCfg.getChildCount()); assertEquals("bar", pluginCfg.getChild("foo").getValue()); }