Example #1
0
    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}))
Example #2
0
    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 {}
Example #3
0
    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 {}
Example #4
0
    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
                         }))