String localRepoUrl = "http://foo.bar";
// check updating all
stackUpgradeUtil.updateLocalRepo(stackName, stackVersion, localRepoUrl, null);
MetainfoDAO dao = injector.getInstance(MetainfoDAO.class);
Collection<MetainfoEntity> entities = dao.findAll();
Assert.assertTrue(entities.size() > 0);
for (MetainfoEntity entity : entities) {
Assert.assertTrue(entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/"));
Assert.assertEquals(localRepoUrl, entity.getMetainfoValue());
}
reset (stackName, stackVersion);
entities = dao.findAll();
Assert.assertTrue(0 == entities.size());
// check updating only centos6
stackUpgradeUtil.updateLocalRepo(stackName, stackVersion, localRepoUrl, "centos6");
entities = dao.findAll();
for (MetainfoEntity entity : entities) {
Assert.assertTrue(entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/centos6") ||
entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/redhat6"));
Assert.assertEquals(localRepoUrl, entity.getMetainfoValue());
}
reset (stackName, stackVersion);
entities = dao.findAll();
Assert.assertTrue(0 == entities.size());
// check updating only centos6 and centos5
stackUpgradeUtil.updateLocalRepo(stackName, stackVersion, localRepoUrl, "centos6,centos5");
entities = dao.findAll();
for (MetainfoEntity entity : entities) {
Assert.assertTrue(entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/centos6") ||
entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/redhat6") ||
entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/redhat5") ||
entity.getMetainfoName().startsWith("repo:/HDP/1.3.0/centos5"));
Assert.assertEquals(localRepoUrl, entity.getMetainfoValue());
}
// verify that a change to centos6 also changes redhat6
localRepoUrl = "http://newfoo.bar";
stackUpgradeUtil.updateLocalRepo(stackName, stackVersion, localRepoUrl, "centos6");
entities = dao.findAll();
boolean foundCentos6 = false;
boolean foundRedhat6 = false;
for (MetainfoEntity entity : entities) {
if (-1 != entity.getMetainfoName().indexOf("centos6")) {
foundCentos6 = true;