with open(self.filename, 'r') as fh:
            actual = yaml.load(fh)
        assert_equal(actual, expected)

    def test_delete(self):
        expected = {'state_a': {'five': 'barz'}}

        key_value_pairs = [
            (yamlstore.YamlKey('state_a', 'five'), 'barz'),
            (yamlstore.YamlKey('state_c', 'five'), 'delete_all_c'),
            (yamlstore.YamlKey('state_a', 'six'), 'delete_one_a'),
        ]
        # Save first
        self.store.save(key_value_pairs)

        # Save second
        key_value_pairs = [
            (yamlstore.YamlKey('state_c', 'five'), None),
            (yamlstore.YamlKey('state_a', 'six'), None),
        ]
        self.store.save(key_value_pairs)

        assert_equal(self.store.buffer, expected)
        with open(self.filename, 'r') as fh:
            actual = yaml.load(fh)
        assert_equal(actual, expected)


if __name__ == "__main__":
    run()
Exemple #2
0
                {
                    'this': 'data2',
                },
            ),
        ]
        self.store.save(key_value_pairs)
        self.store.cleanup()

        stored_data = Py2Shelf(self.filename)
        for key, value in key_value_pairs:
            assert_equal(stored_data[str(key.key)], value)
        stored_data.close()

    def test_restore(self):
        self.store.cleanup()
        keys = [ShelveKey("thing", i) for i in range(5)]
        value = {'this': 'data'}
        store = Py2Shelf(self.filename)
        for key in keys:
            store[str(key.key)] = value
        store.close()

        self.store.shelve = Py2Shelf(self.filename)
        retrieved_data = self.store.restore(keys)
        for key in keys:
            assert_equal(retrieved_data[key], value)


if __name__ == "__main__":
    run()