def test_doNotAddItemWhenNoItemToAdd(self): toTracker = mock() fromTracker = mock() when(fromTracker).items(any()).thenReturn([]) syncByAddingItems = TrackerSyncBy.addingItemsOfType(None) syncByAddingItems(fromTracker, toTracker) verify(toTracker, never).update()
def addItemsFrom(jira, toTracker, jiraJql, jiraProject, filterInOnlyNewIssues, ItemType, matchingAnIssue): syncByAddingItems = TrackerSyncBy.addingItemsOfType( ItemType, matchingAnIssue) for jiraQuery in jiraJql: jira.selectProject([jiraProject, jiraQuery + filterInOnlyNewIssues]) syncByAddingItems(jira, toTracker) jira.selectProject([jiraProject, ""])
def test_whenMultipleItemsMatchFilterAndItemsCanNotBeSyncedWithThenAddNewItem(self): toTracker = mock() fromTracker = mock() detectedItem = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn(Testing.MockIterator([detectedItem,detectedItem])) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(False).thenReturn(True) syncByAddingItems = TrackerSyncBy.addingItemsOfType(None) syncByAddingItems(fromTracker, toTracker) verify(toTracker, never).update()
def test_doNotAddItemWhenItemInTracker(self): toTracker = mock() fromTracker = mock() detectedItem = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn(Testing.MockIterator([detectedItem])) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(True) syncByAddingItems = TrackerSyncBy.addingItemsOfType(None) syncByAddingItems(fromTracker, toTracker) verify(toTracker, never).update()
def test_doNotAddItemWhenItemInTracker(self): toTracker = mock() fromTracker = mock() detectedItem = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn( Testing.MockIterator([detectedItem])) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(True) syncByAddingItems = TrackerSyncBy.addingItemsOfType(None) syncByAddingItems(fromTracker, toTracker) verify(toTracker, never).update()
def test_filterFunctionIsUsed(self): toTracker = mock() fromTracker = mock() detectedItem = mock() filterValue = "filter" filterFunction = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(filterValue).thenReturn(Testing.MockIterator([detectedItem])) when(filterFunction).calledWith(detectedItem).thenReturn(filterValue) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(True) syncByAddingItems = TrackerSyncBy.addingItemsOfType(None, filterFunction.calledWith) syncByAddingItems(fromTracker, toTracker) verify(toTracker).items(filterValue)
def test_whenMultipleItemsMatchFilterAndItemsCanNotBeSyncedWithThenAddNewItem( self): toTracker = mock() fromTracker = mock() detectedItem = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn( Testing.MockIterator([detectedItem, detectedItem])) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn( False).thenReturn(True) syncByAddingItems = TrackerSyncBy.addingItemsOfType(None) syncByAddingItems(fromTracker, toTracker) verify(toTracker, never).update()
def test_whenMultipleItemsMatchFilterAndItemCanBeSyncedWithThenDoNotAddNewItem(self): toTracker = mock() fromTracker = mock() detectedItem = mock() TrackerItemType = mock() itemToBeAdded = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn(Testing.MockIterator([detectedItem,detectedItem])) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(False) when(TrackerItemType).called().thenReturn(itemToBeAdded) when(toTracker).update(itemToBeAdded).thenReturn(itemToBeAdded) syncByAddingItems = TrackerSyncBy.addingItemsOfType(TrackerItemType.called) syncByAddingItems(fromTracker, toTracker) verify(toTracker, times=2).update(itemToBeAdded)
def test_filterFunctionIsUsed(self): toTracker = mock() fromTracker = mock() detectedItem = mock() filterValue = "filter" filterFunction = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(filterValue).thenReturn( Testing.MockIterator([detectedItem])) when(filterFunction).calledWith(detectedItem).thenReturn(filterValue) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(True) syncByAddingItems = TrackerSyncBy.addingItemsOfType( None, filterFunction.calledWith) syncByAddingItems(fromTracker, toTracker) verify(toTracker).items(filterValue)
def test_canAddNewItemNotInTrackerAndwhenAddingUpdateItemBeforeUpdatingDetails(self): toTracker = mock() fromTracker = mock() itemToBeAdded = mock() detectedItem = mock() itemWithDetails = mock() TrackerItemType = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn([]) when(TrackerItemType).called().thenReturn(itemToBeAdded) when(toTracker).update(itemToBeAdded).thenReturn(itemWithDetails) syncByAddingItems = TrackerSyncBy.addingItemsOfType(TrackerItemType.called) syncByAddingItems(fromTracker, toTracker) inorder.verify(toTracker).items(any()) inorder.verify(toTracker).update(itemToBeAdded) inorder.verify(toTracker).update(itemWithDetails)
def test_whenMultipleItemsMatchFilterAndItemCanBeSyncedWithThenDoNotAddNewItem( self): toTracker = mock() fromTracker = mock() detectedItem = mock() TrackerItemType = mock() itemToBeAdded = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn( Testing.MockIterator([detectedItem, detectedItem])) when(detectedItem).canBeSyncedWith(detectedItem).thenReturn(False) when(TrackerItemType).called().thenReturn(itemToBeAdded) when(toTracker).update(itemToBeAdded).thenReturn(itemToBeAdded) syncByAddingItems = TrackerSyncBy.addingItemsOfType( TrackerItemType.called) syncByAddingItems(fromTracker, toTracker) verify(toTracker, times=2).update(itemToBeAdded)
def test_canAddNewItemNotInTrackerAndwhenAddingUpdateItemBeforeUpdatingDetails( self): toTracker = mock() fromTracker = mock() itemToBeAdded = mock() detectedItem = mock() itemWithDetails = mock() TrackerItemType = mock() when(fromTracker).items(any()).thenReturn([detectedItem]) when(toTracker).items(any()).thenReturn([]) when(TrackerItemType).called().thenReturn(itemToBeAdded) when(toTracker).update(itemToBeAdded).thenReturn(itemWithDetails) syncByAddingItems = TrackerSyncBy.addingItemsOfType( TrackerItemType.called) syncByAddingItems(fromTracker, toTracker) inorder.verify(toTracker).items(any()) inorder.verify(toTracker).update(itemToBeAdded) inorder.verify(toTracker).update(itemWithDetails)
def addItemsFrom(jira, toTracker, jiraJql, jiraProject, filterInOnlyNewIssues, ItemType, matchingAnIssue): syncByAddingItems = TrackerSyncBy.addingItemsOfType(ItemType, matchingAnIssue) for jiraQuery in jiraJql: jira.selectProject([jiraProject, jiraQuery + filterInOnlyNewIssues]) syncByAddingItems(jira, toTracker) jira.selectProject([jiraProject, ""])
def syncNewItemToPivotal(self, newJiraItem, jira, pivotal): jira.update(newJiraItem) syncByAddingItems = TrackerSyncBy.addingItemsOfType(PivotalTrackerItem) syncByAddingItems(fromTracker=jira, toTracker=pivotal)