def test_modified_in_parent_with_revision(self): """Testing get_file_exists_in_history for a file modified in a parent revision for an SCM that uses file revisions """ repository = self.create_repository() self.spy_on( repository.get_file_exists, call_fake=self._make_get_file_exists_in_history('foo', 'a' * 40)) validation_info = { 'r2': { 'parent_id': 'r1', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': 'c' * 40, }], 'removed': [], }, }, 'r1': { 'parent_id': 'r0', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': 'b' * 40, }], 'removed': [], }, }, } self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r2', path='foo', revision='c' * 40)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r1', path='foo', revision='b' * 40)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r0', path='foo', revision='a' * 40)) self.assertTrue(repository.get_file_exists.spy.called_with( 'foo', 'a' * 40, ))
def test_modified_in_parent_with_revision(self): """Testing get_file_exists_in_history for a file modified in a parent revision for an SCM that uses file revisions """ repository = self.create_repository() self.spy_on( repository.get_file_exists, call_fake=self._make_get_file_exists_in_history('foo', 'a' * 40)) validation_info = { 'r2': { 'parent_id': 'r1', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': 'c' * 40, }], 'removed': [], }, }, 'r1': { 'parent_id': 'r0', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': 'b' * 40, }], 'removed': [], }, }, } self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r2', path='foo', revision='c' * 40)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r1', path='foo', revision='b' * 40)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r0', path='foo', revision='a' * 40)) self.assertTrue(repository.get_file_exists.spy.called_with( 'foo', 'a' * 40, ))
def test_modified_in_parent_unknown_revision(self): """Testing get_file_exists_in_history for a file modified in a parent revision for an SCM that does not use file revision """ repository = self.create_repository(tool_name='Mercurial') self.spy_on( repository.get_file_exists, call_fake=self._make_get_file_exists_in_history('foo', UNKNOWN)) validation_info = { 'r2': { 'parent_id': 'r1', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': UNKNOWN, }], 'removed': [], }, }, 'r1': { 'parent_id': 'r0', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': UNKNOWN, }], 'removed': [], }, }, } self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r2', path='foo', revision=UNKNOWN)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r1', path='foo', revision=UNKNOWN)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r0', path='foo', revision=UNKNOWN)) self.assertTrue(repository.get_file_exists.spy.called_with( 'foo', UNKNOWN))
def test_modified_in_parent_unknown_revision(self): """Testing get_file_exists_in_history for a file modified in a parent revision for an SCM that does not use file revision """ repository = self.create_repository(tool_name='Mercurial') self.spy_on(repository.get_file_exists, call_fake=self._make_get_file_exists_in_history( 'foo', UNKNOWN)) validation_info = { 'r2': { 'parent_id': 'r1', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': UNKNOWN, }], 'removed': [], }, }, 'r1': { 'parent_id': 'r0', 'tree': { 'added': [], 'modified': [{ 'filename': 'foo', 'revision': UNKNOWN, }], 'removed': [], }, }, } self.assertTrue( get_file_exists_in_history(validation_info=validation_info, repository=repository, parent_id='r2', path='foo', revision=UNKNOWN)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue( get_file_exists_in_history(validation_info=validation_info, repository=repository, parent_id='r1', path='foo', revision=UNKNOWN)) self.assertFalse(repository.get_file_exists.spy.called) self.assertTrue( get_file_exists_in_history(validation_info=validation_info, repository=repository, parent_id='r0', path='foo', revision=UNKNOWN)) self.assertTrue( repository.get_file_exists.spy.called_with('foo', UNKNOWN))
def test_added_in_grandparent_with_revision(self): """Testing get_file_exists_in_history for a file added in a grandparent commit for an SCM that uses file revisions """ repository = self.create_repository() validation_info = { 'r2': { 'parent_id': 'r1', 'tree': { 'added': [], 'modified': [], 'removed': [], }, }, 'r1': { 'parent_id': 'r0', 'tree': { 'added': [{ 'filename': 'foo', 'revision': 'a' * 40, }], 'modified': [], 'removed': [], }, }, } self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r2', path='foo', revision='a' * 40))
def test_added_in_parent_without_revision(self): """Testing get_file_exists_in_history for a file added in the parent commit for an SCM that doesn't use file revisions """ repository = self.create_repository(tool_name='Mercurial') validation_info = { 'r1': { 'parent_id': 'r0', 'tree': { 'added': [{ 'filename': 'foo', 'revision': UNKNOWN, }], 'modified': [], 'removed': [], }, }, } self.assertTrue(get_file_exists_in_history( validation_info=validation_info, repository=repository, parent_id='r1', path='foo', revision=UNKNOWN))
def test_added_in_grandparent_with_revision(self): """Testing get_file_exists_in_history for a file added in a grandparent commit for an SCM that uses file revisions """ repository = self.create_repository() validation_info = { 'r2': { 'parent_id': 'r1', 'tree': { 'added': [], 'modified': [], 'removed': [], }, }, 'r1': { 'parent_id': 'r0', 'tree': { 'added': [{ 'filename': 'foo', 'revision': 'a' * 40, }], 'modified': [], 'removed': [], }, }, } self.assertTrue( get_file_exists_in_history(validation_info=validation_info, repository=repository, parent_id='r2', path='foo', revision='a' * 40))
def test_added_in_parent_without_revision(self): """Testing get_file_exists_in_history for a file added in the parent commit for an SCM that doesn't use file revisions """ repository = self.create_repository(tool_name='Mercurial') validation_info = { 'r1': { 'parent_id': 'r0', 'tree': { 'added': [{ 'filename': 'foo', 'revision': UNKNOWN, }], 'modified': [], 'removed': [], }, }, } self.assertTrue( get_file_exists_in_history(validation_info=validation_info, repository=repository, parent_id='r1', path='foo', revision=UNKNOWN))