def test_dict_difference(self): self.assertEqual( {}, guestagent_utils.dict_difference( {}, {})) self.assertEqual( {}, guestagent_utils.dict_difference( {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3})) self.assertEqual( {}, guestagent_utils.dict_difference( {'a': 1, 'b': 2, 'c': 3}, {})) self.assertEqual( {'a': 1, 'b': 2, 'c': 3}, guestagent_utils.dict_difference( {}, {'a': 1, 'b': 2, 'c': 3})) self.assertEqual( {}, guestagent_utils.dict_difference( {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'c': 3})) self.assertEqual( {'b': 2}, guestagent_utils.dict_difference( {'a': 1, 'c': 3}, {'a': 1, 'b': 2, 'c': 3})) self.assertEqual( {'b': 2, 'c': {'c1': 2}}, guestagent_utils.dict_difference( {'a': {'a1': 1, 'a2': 2}, 'c': {'c1': 1, 'c2': 2}}, {'a': {'a1': 1, 'a2': 2}, 'b': 2, 'c': {'c1': 2, 'c2': 2}})) self.assertEqual( {'a': [4, 5, 6], 'b': 2}, guestagent_utils.dict_difference({'a': [1, 2, 3]}, {'a': [4, 5, 6], 'b': 2}))
def get(self, revision): revisions = self._collect_revisions() if revisions: # Return the difference between this revision and the current base. this_revision = operating_system.read_file(revisions[revision - 1], codec=self._codec) current_base = operating_system.read_file(self._base_config_path, codec=self._codec) return guestagent_utils.dict_difference(this_revision, current_base) return {}
def test_dict_difference(self): self.assertEqual({}, guestagent_utils.dict_difference({}, {})) self.assertEqual({}, guestagent_utils.dict_difference( { 'a': 1, 'b': 2, 'c': 3 }, { 'a': 1, 'b': 2, 'c': 3 })) self.assertEqual({}, guestagent_utils.dict_difference( { 'a': 1, 'b': 2, 'c': 3 }, {})) self.assertEqual({ 'a': 1, 'b': 2, 'c': 3 }, guestagent_utils.dict_difference({}, { 'a': 1, 'b': 2, 'c': 3 })) self.assertEqual({}, guestagent_utils.dict_difference( { 'a': 1, 'b': 2, 'c': 3 }, { 'a': 1, 'c': 3 })) self.assertEqual({'b': 2}, guestagent_utils.dict_difference({ 'a': 1, 'c': 3 }, { 'a': 1, 'b': 2, 'c': 3 })) self.assertEqual({ 'b': 2, 'c': { 'c1': 2 } }, guestagent_utils.dict_difference( { 'a': { 'a1': 1, 'a2': 2 }, 'c': { 'c1': 1, 'c2': 2 } }, { 'a': { 'a1': 1, 'a2': 2 }, 'b': 2, 'c': { 'c1': 2, 'c2': 2 } })) self.assertEqual({ 'a': [4, 5, 6], 'b': 2 }, guestagent_utils.dict_difference({'a': [1, 2, 3]}, { 'a': [4, 5, 6], 'b': 2 }))