use of com.google.gerrit.pgm.init.api.InitFlags in project gerrit by GerritCodeReview.
the class UpgradeFrom2_0_xTest method upgrade.
@Test
public void upgrade() throws IOException, ConfigInvalidException {
final Path p = newSitePath();
final SitePaths site = new SitePaths(p);
assertTrue(site.isNew);
FileUtil.mkdirsOrDie(site.etc_dir, "Failed to create");
for (String n : UpgradeFrom2_0_x.etcFiles) {
Files.write(p.resolve(n), ("# " + n + "\n").getBytes(UTF_8));
}
FileBasedConfig old = new FileBasedConfig(p.resolve("gerrit.config").toFile(), FS.DETECTED);
old.setString("ldap", null, "username", "ldap.user");
old.setString("ldap", null, "password", "ldap.s3kr3t");
old.setString("sendemail", null, "smtpUser", "email.user");
old.setString("sendemail", null, "smtpPass", "email.s3kr3t");
old.save();
final InMemorySecureStore secureStore = new InMemorySecureStore();
final InitFlags flags = new InitFlags(site, secureStore, Collections.<String>emptyList(), false);
final ConsoleUI ui = createStrictMock(ConsoleUI.class);
Section.Factory sections = new Section.Factory() {
@Override
public Section get(String name, String subsection) {
return new Section(flags, site, secureStore, ui, name, subsection);
}
};
expect(ui.yesno(eq(true), eq("Upgrade '%s'"), eq(p.toAbsolutePath().normalize()))).andReturn(true);
replay(ui);
UpgradeFrom2_0_x u = new UpgradeFrom2_0_x(site, flags, ui, sections);
assertTrue(u.isNeedUpgrade());
u.run();
assertFalse(u.isNeedUpgrade());
verify(ui);
for (String n : UpgradeFrom2_0_x.etcFiles) {
if ("gerrit.config".equals(n) || "secure.config".equals(n)) {
continue;
}
try (InputStream in = Files.newInputStream(site.etc_dir.resolve(n))) {
assertEquals("# " + n + "\n", new String(ByteStreams.toByteArray(in), UTF_8));
}
}
FileBasedConfig cfg = new FileBasedConfig(site.gerrit_config.toFile(), FS.DETECTED);
cfg.load();
assertEquals("email.user", cfg.getString("sendemail", null, "smtpUser"));
assertNull(cfg.getString("sendemail", null, "smtpPass"));
assertEquals("email.s3kr3t", secureStore.get("sendemail", null, "smtpPass"));
assertEquals("ldap.user", cfg.getString("ldap", null, "username"));
assertNull(cfg.getString("ldap", null, "password"));
assertEquals("ldap.s3kr3t", secureStore.get("ldap", null, "password"));
u.run();
}
Aggregations