@Test public void testTagSnapshot() throws DataProviderException { Snapshot snap = dataProvider.tagSnapshot(branchSnapshot, Optional.of("name"), Optional.of("message")); assertEquals(branchSnapshot, snap); verify(notifier, times(1)).snapshotTagged(snap); verify(notifier, only()).snapshotTagged(snap); Mockito.reset(notifier); snap = dataProvider.tagSnapshot(branchSnapshot, Optional.of("name2"), Optional.of("message")); assertEquals(branchSnapshot, snap); verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); try { dataProvider.tagSnapshot(branchSnapshot, Optional.of("name4"), Optional.of("message")); fail("Exception should happen"); } catch (DataProviderException e) { assertNotNull(e.getMessage()); } verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); Mockito.reset(notifier); snap = dataProvider.tagSnapshot(branchSnapshot, Optional.of("name3"), Optional.of("message")); assertNull(snap); verify(notifier, never()).synchronised(); }
@Test public void testDeleteSaveSet() throws DataProviderException { boolean b = dataProvider.deleteSaveSet(branchSaveSet, "comment"); assertTrue(b); verify(notifier, times(1)).saveSetDeleted(branchSaveSet); verify(notifier, only()).saveSetDeleted(branchSaveSet); Mockito.reset(notifier); b = dataProvider.deleteSaveSet(branchSaveSet, "comment4"); assertFalse(b); verify(notifier, never()).synchronised(); Mockito.reset(notifier); b = dataProvider.deleteSaveSet(branchSaveSet, "comment2"); assertTrue(b); verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); try { dataProvider.deleteSaveSet(branchSaveSet, "comment3"); fail("Exception should happen"); } catch (DataProviderException e) { assertNotNull(e.getMessage()); } verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); }
@Test public void testSaveSnapshot() throws DataProviderException { VSnapshot snap = dataProvider.saveSnapshot(snapshot, "comment"); assertTrue(snap.equalsExceptSnapshot(snapshot)); verify(notifier, times(1)).snapshotSaved(snap); verify(notifier, only()).snapshotSaved(snap); Mockito.reset(notifier); snap = dataProvider.saveSnapshot(snapshot, "comment2"); assertTrue(snap.equalsExceptSnapshot(snapshot)); verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); try { dataProvider.saveSnapshot(snapshot, "comment4"); fail("Exception should happen"); } catch (DataProviderException e) { assertNotNull(e.getMessage()); } verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); Mockito.reset(notifier); snap = dataProvider.saveSnapshot(snapshot, "comment3"); assertNull(snap); verify(notifier, never()).synchronised(); }
@Test public void testGetBaseLevels() throws DataProviderException { BaseLevel[] baseLevels = dataProvider.getBaseLevels(branch); assertEquals("2 base levels are defined for default branch", 2, baseLevels.length); assertEquals(branchBase1, baseLevels[0]); assertEquals(branchBase2, baseLevels[1]); baseLevels = dataProvider.getBaseLevels(demoBranch); assertEquals("No base levels in demo branch", 0, baseLevels.length); }
@Test public void testSynchronise() throws DataProviderException { boolean b = dataProvider.synchronise(); assertTrue(b); verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); }
@Test public void testCreateNewBranch() throws DataProviderException { Branch newBranch = dataProvider.createNewBranch(branch, "someBranch"); assertEquals(someBranch, newBranch); verify(notifier, times(1)).branchCreated(newBranch); verify(notifier, only()).branchCreated(newBranch); try { dataProvider.createNewBranch(branch, "bla"); fail("Exception should happen"); } catch (DataProviderException e) { assertNotNull(e.getMessage()); } verify(notifier, times(1)).branchCreated(newBranch); verify(notifier, only()).branchCreated(newBranch); }
@Test public void testGetSnapshots() throws DataProviderException { Snapshot[] snaps = dataProvider.getSnapshots(branchSaveSet, true, Optional.empty()); assertEquals("2 base levels are defined for default branch", 2, snaps.length); assertEquals(branchSnapshot, snaps[0]); assertEquals(branchSnapshot2, snaps[1]); }
@Test public void testGetSaveSets() throws DataProviderException { SaveSet[] sets = dataProvider.getSaveSets(Optional.of(branchBase1), branch); assertEquals("2 base levels are defined for default branch", 2, sets.length); assertEquals(branchSaveSet, sets[0]); assertEquals(branchSaveSet2, sets[1]); }
@Test public void testGetBranches() throws DataProviderException { Branch[] branches = dataProvider.getBranches(); assertEquals("2 branches are defined", 2, branches.length); assertEquals(branch, branches[0]); assertEquals(demoBranch, branches[1]); }
@Test public void testFindSnapshots() throws DataProviderException { List<SearchCriterion> criteria = dataProvider.getSupportedSearchCriteria(); Snapshot[] snapshots = dataProvider.findSnapshots( "temp", branch, Arrays.asList(criteria.get(0), criteria.get(3)), Optional.empty(), Optional.empty()); assertEquals(2, snapshots.length); assertEquals(branchSnapshot, snapshots[0]); assertEquals(branchSnapshot3, snapshots[1]); snapshots = dataProvider.findSnapshots( "temp", branch, Arrays.asList(criteria.get(3)), Optional.empty(), Optional.empty()); assertEquals(1, snapshots.length); assertEquals(branchSnapshot2, snapshots[0]); snapshots = dataProvider.findSnapshots( "temp", branch, Arrays.asList(criteria.get(0)), Optional.empty(), Optional.empty()); assertEquals(1, snapshots.length); assertEquals(branchSnapshot3, snapshots[0]); snapshots = dataProvider.findSnapshots( "temp", branch, Arrays.asList(criteria.get(0), criteria.get(1), criteria.get(2)), Optional.empty(), Optional.empty()); assertEquals(2, snapshots.length); assertEquals(branchSnapshot3, snapshots[0]); assertEquals(branchSnapshot, snapshots[1]); snapshots = dataProvider.findSnapshots( "temp", branch, Arrays.asList(criteria.get(3), criteria.get(1)), Optional.empty(), Optional.empty()); assertEquals(2, snapshots.length); assertEquals(branchSnapshot3, snapshots[0]); assertEquals(branchSnapshot2, snapshots[1]); snapshots = dataProvider.findSnapshots( "temp", branch, Arrays.asList(criteria.get(2)), Optional.empty(), Optional.empty()); assertEquals(1, snapshots.length); assertEquals(branchSnapshot2, snapshots[0]); }
@Test public void testSaveSaveSet() throws DataProviderException { SaveSetData data = dataProvider.saveSaveSet(bsd, "comment"); assertEquals(bsd, data); verify(notifier, times(1)).saveSetSaved(data); verify(notifier, only()).saveSetSaved(data); Mockito.reset(notifier); data = dataProvider.saveSaveSet(bsd, "comment2"); assertEquals(bsd, data); verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); try { dataProvider.saveSaveSet(bsd, "comment3"); fail("Exception should happen"); } catch (DataProviderException e) { assertNotNull(e.getMessage()); } verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); }
@Test public void testImportData() throws DataProviderException { boolean b = dataProvider.importData( branchSaveSet, someBranch, Optional.of(someBaseLevel), ImportType.SAVE_SET); assertTrue(b); verify(notifier, times(1)).dataImported(branchSaveSet, someBranch, Optional.of(someBaseLevel)); verify(notifier, only()).dataImported(branchSaveSet, someBranch, Optional.of(someBaseLevel)); Mockito.reset(notifier); b = dataProvider.importData( branchSaveSet, someBranch, Optional.of(someBaseLevel), ImportType.LAST_SNAPSHOT); assertFalse(b); verify(notifier, never()).synchronised(); Mockito.reset(notifier); b = dataProvider.importData( branchSaveSet, someBranch, Optional.of(someBaseLevel), ImportType.ALL_SNAPSHOTS); assertTrue(b); verify(notifier, times(1)).synchronised(); verify(notifier, only()).synchronised(); }
@Before public void setUp() throws Exception { GitAPIException exception = new GitAPIException("Problem") { private static final long serialVersionUID = 1L; }; GitManager grm = mock(GitManager.class); notifier = mock(CompletionNotifier.class); dataProvider = new GitDataProvider(grm); dataProvider.addCompletionNotifier(notifier); Field field = GitDataProvider.class.getDeclaredField("initialized"); field.setAccessible(true); field.set(dataProvider, Boolean.TRUE); when(grm.getBranches()).thenReturn(Arrays.asList(branch, demoBranch)); when(grm.getBaseLevels(branch)).thenReturn(Arrays.asList(branchBase1, branchBase2)); when(grm.getBaseLevels(demoBranch)).thenReturn(new ArrayList<>(0)); when(grm.getSaveSets(Optional.of(branchBase1), branch)) .thenReturn(Arrays.asList(branchSaveSet, branchSaveSet2)); when(grm.getSnapshots(branchSaveSet, 0, Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot, branchSnapshot2)); when(grm.loadSaveSetData(branchSaveSet, Optional.empty())).thenReturn(bsd); when(grm.createBranch(branch, "someBranch")).thenReturn(someBranch); when(grm.createBranch(branch, "bla")).thenThrow(exception); when(grm.saveSaveSet(bsd, "comment")).thenReturn(new Result<SaveSetData>(bsd, ChangeType.SAVE)); when(grm.saveSaveSet(bsd, "comment2")) .thenReturn(new Result<SaveSetData>(bsd, ChangeType.PULL)); when(grm.saveSaveSet(bsd, "comment3")).thenThrow(exception); when(grm.deleteSaveSet(branchSaveSet, "comment")) .thenReturn(new Result<SaveSet>(branchSaveSet, ChangeType.SAVE)); when(grm.deleteSaveSet(branchSaveSet, "comment2")) .thenReturn(new Result<SaveSet>(branchSaveSet, ChangeType.PULL)); when(grm.deleteSaveSet(branchSaveSet, "comment4")) .thenReturn(new Result<SaveSet>(null, ChangeType.NONE)); when(grm.deleteSaveSet(branchSaveSet, "comment3")).thenThrow(exception); when(grm.saveSnapshot(snapshot, "comment")) .thenReturn(new Result<VSnapshot>(snapshot, ChangeType.SAVE)); when(grm.saveSnapshot(snapshot, "comment2")) .thenReturn(new Result<VSnapshot>(snapshot, ChangeType.PULL)); when(grm.saveSnapshot(snapshot, "comment3")) .thenReturn(new Result<VSnapshot>(null, ChangeType.NONE)); when(grm.saveSnapshot(snapshot, "comment4")).thenThrow(exception); when(grm.tagSnapshot(branchSnapshot, "name", "message")) .thenReturn(new Result<Snapshot>(branchSnapshot, ChangeType.SAVE)); when(grm.tagSnapshot(branchSnapshot, "name2", "message")) .thenReturn(new Result<Snapshot>(branchSnapshot, ChangeType.PULL)); when(grm.tagSnapshot(branchSnapshot, "name3", "message")) .thenReturn(new Result<Snapshot>(null, ChangeType.NONE)); when(grm.tagSnapshot(branchSnapshot, "name4", "message")).thenThrow(exception); when(grm.loadSnapshotData(branchSnapshot)).thenReturn(snapshot); when(grm.findSnapshotsByCommentOrUser( "temp", branch, true, true, Optional.empty(), Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot, branchSnapshot3)); when(grm.findSnapshotsByCommentOrUser( "temp", branch, true, false, Optional.empty(), Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot3)); when(grm.findSnapshotsByCommentOrUser( "temp", branch, false, true, Optional.empty(), Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot2)); when(grm.findSnapshotsByTag("temp", branch, Optional.empty(), Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot)); when(grm.findSnapshotsByTagMessage("temp", branch, Optional.empty(), Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot2)); when(grm.findSnapshotsByTagName("temp", branch, Optional.empty(), Optional.empty())) .thenReturn(Arrays.asList(branchSnapshot3)); when(grm.importData(branchSaveSet, someBranch, Optional.of(someBaseLevel), ImportType.SAVE_SET)) .thenReturn(new Result<Boolean>(true, ChangeType.SAVE)); when(grm.importData( branchSaveSet, someBranch, Optional.of(someBaseLevel), ImportType.ALL_SNAPSHOTS)) .thenReturn(new Result<Boolean>(true, ChangeType.PULL)); when(grm.importData( branchSaveSet, someBranch, Optional.of(someBaseLevel), ImportType.LAST_SNAPSHOT)) .thenReturn(new Result<Boolean>(false, ChangeType.NONE)); when(grm.synchronise(Optional.empty())).thenReturn(true); }
@Test public void testGetSnapshotContent() throws DataProviderException { VSnapshot data = dataProvider.getSnapshotContent(branchSnapshot); assertEquals(snapshot, data); }
@Test public void testGetSaveSetContent() throws DataProviderException { SaveSetData data = dataProvider.getSaveSetContent(branchSaveSet); assertEquals(bsd, data); }