def test_not_equal_different_leaves(self, requests_mock): """ Tests the case: two levels in the XML tree, same first level but different leaves. Should return False. """ def get_mock(url): """ We must use a different mock for this one, to return different XML contents, given the same XML file (for different servers). """ mock = Mock() if 'domain3.com/example2.xml' in url: mock.content = open('xmls/example2.xml', 'r').read() elif 'domain4.com/example2.xml' in url: mock.content = open('xmls/example5.xml', 'r').read() else: mock.content = open( 'xmls/{url}'.format(url=url[len('http://domainN.com/'):]), 'r' ).read() return mock requests_mock.get = get_mock self.assertFalse(compare('http://domain3.com/example3.xml', 'http://domain4.com/example4.xml'))
def test_equal_one_level_same_order(self, requests_mock): """ Tests the simplest case: only one level in the XML tree, same leaves. Should return True. """ requests_mock.get = self.get_mock self.assertTrue(compare('http://domain1.com/example1.xml', 'http://domain2.com/example1.xml'))
def test_equal_two_levels_equal(self, requests_mock): """ Tests the case: two levels in the XML tree, same first level and leaves. Should return True. """ requests_mock.get = self.get_mock self.assertTrue(compare('http://domain3.com/example3.xml', 'http://domain4.com/example4.xml'))
def test_not_equal_first_level_different(self, requests_mock): """ Tests the case: only one level in the XML tree, different leaves. Should return False. """ requests_mock.get = self.get_mock self.assertFalse(compare('http://domain1.com/example1.xml', 'http://domain3.com/example3.xml'))