Example #1
0
  public void testUpdate() throws Exception {
    final MockUpdater mockUpdater = new MockUpdater();

    StorageEngine mockStorageEngine = new MSE(mockUpdater);

    DomainGroup mockDomainGroupConfig = getMockDomainGroupConfig(mockStorageEngine);

    final RingGroup mockRingGroupConfig = new MRG(mockDomainGroupConfig, "myRingGroup", null);

    UpdateManager ud =
        new UpdateManager(
            new MockPartDaemonConfigurator(1, null, "myRingGroup", "/local/data/dir"),
            mockHostConfig,
            mockRingGroupConfig,
            mockRingConfig);
    ud.update();
    assertTrue("update() was called on the storage engine", mockUpdater.isUpdated());
    assertEquals(
        "excludeVersions passed in as expected",
        Collections.singleton(45),
        mockUpdater.excludeVersions);
    assertEquals(
        "update() called with proper args", Integer.valueOf(0), mockUpdater.updatedToVersion);
    assertEquals(
        "current version",
        Integer.valueOf(1),
        HOST_DOMAIN_PARTITION.getCurrentDomainGroupVersion());
    assertNull("updating to version", HOST_DOMAIN_PARTITION.getUpdatingToDomainGroupVersion());

    assertFalse("host domain contains the partition", MOCK_DELETER.hasDeleted());
    assertFalse(
        "host domain partition has not yet been deleted", PARTITION_FOR_DELETION.isDeleted());

    PARTITION_FOR_DELETION.setDeletable(true);
    ud.update();

    assertTrue("host domain does not contain the partition", MOCK_DELETER.hasDeleted());
    assertTrue("host domain partition has been deleted", PARTITION_FOR_DELETION.isDeleted());
  }
Example #2
0
 public static long computeUpdateETA(Host host) {
   return UpdateManager.getUpdateETA(host);
 }