PageRenderTime 105ms CodeModel.GetById 65ms RepoModel.GetById 4ms app.codeStats 0ms

/activeobjects-plugin/src/test/java/com/atlassian/activeobjects/internal/ActiveObjectUpgradeManagerImplTest.java

https://bitbucket.org/activeobjects/ao-plugin
Java | 63 lines | 52 code | 11 blank | 0 comment | 0 complexity | be6dd85aeaf506e3685e2102aabf91d8 MD5 | raw file
Possible License(s): Apache-2.0
  1. package com.atlassian.activeobjects.internal;
  2. import com.atlassian.activeobjects.external.ActiveObjects;
  3. import com.atlassian.activeobjects.external.ActiveObjectsUpgradeTask;
  4. import com.atlassian.activeobjects.external.ModelVersion;
  5. import com.google.common.collect.Lists;
  6. import org.junit.Before;
  7. import org.junit.Test;
  8. import org.junit.runner.RunWith;
  9. import org.mockito.Mock;
  10. import org.mockito.runners.MockitoJUnitRunner;
  11. import java.util.List;
  12. @RunWith(MockitoJUnitRunner.class)
  13. public final class ActiveObjectUpgradeManagerImplTest {
  14. private ActiveObjectUpgradeManagerImpl upgradeManager;
  15. @Mock
  16. private ModelVersionManager modelVersionManager;
  17. @Before
  18. public void setUp() {
  19. upgradeManager = new ActiveObjectUpgradeManagerImpl(modelVersionManager);
  20. }
  21. @Test(expected = IllegalStateException.class)
  22. public void twoUpgradeTasksWithSameModelVersionThrowsException() {
  23. final List<ActiveObjectsUpgradeTask> upgradeTasks = Lists.<ActiveObjectsUpgradeTask>newArrayList(
  24. new MockActiveObjectsUpgradeTask(ModelVersion.valueOf("1")),
  25. new MockActiveObjectsUpgradeTask(ModelVersion.valueOf("1")),
  26. new MockActiveObjectsUpgradeTask(ModelVersion.valueOf("2"))
  27. );
  28. upgradeManager.verify(upgradeTasks);
  29. }
  30. @Test
  31. public void sortedUpgradeTasksWithDifferentModelVersionDoesNotThrowException() {
  32. final List<ActiveObjectsUpgradeTask> upgradeTasks = Lists.<ActiveObjectsUpgradeTask>newArrayList(
  33. new MockActiveObjectsUpgradeTask(ModelVersion.valueOf("1")),
  34. new MockActiveObjectsUpgradeTask(ModelVersion.valueOf("3")),
  35. new MockActiveObjectsUpgradeTask(ModelVersion.valueOf("4"))
  36. );
  37. upgradeManager.verify(upgradeTasks);
  38. }
  39. private static final class MockActiveObjectsUpgradeTask implements ActiveObjectsUpgradeTask {
  40. private final ModelVersion version;
  41. public MockActiveObjectsUpgradeTask(ModelVersion version) {
  42. this.version = version;
  43. }
  44. @Override
  45. public ModelVersion getModelVersion() {
  46. return version;
  47. }
  48. @Override
  49. public void upgrade(ModelVersion currentVersion, ActiveObjects ao) {
  50. }
  51. }
  52. }