Esempio n. 1
0
    def test_audit(self):
        manifest = Manifest.blank(2)
        worker = Worker('foo',
                        LunrConfig({
                            'backup': {'client': 'memory'},
                            'storage': {'run_dir': self.scratch}
                        }),
                        manifest=manifest)
        conn = worker.conn
        conn.put_container('foo')
        backup = manifest.create_backup('bak1')
        backup[0] = worker.empty_block_hash
        conn.put_object('foo', backup[0], 'zeroes')
        backup[1] = 'some_block_hash'
        conn.put_object('foo', backup[1], ' more stuff')
        save_manifest(manifest, conn, worker.id, worker._lock_path())
        # Add some non referenced blocks.
        conn.put_object('foo', 'stuff1', 'unreferenced stuff1')
        conn.put_object('foo', 'stuff2', 'unreferenced stuff2')
        conn.put_object('foo', 'stuff3', 'unreferenced stuff3')

        _headers, original_list = conn.get_container('foo')
        # Manifest, 2 blocks, 3 stuffs.
        self.assertEquals(len(original_list), 6)

        worker.audit()
        _headers, new_list = conn.get_container('foo')
        # Manifest, 2 blocks.
        self.assertEquals(len(new_list), 3)
Esempio n. 2
0
    def test_audit(self):
        manifest = Manifest.blank(2)
        worker = Worker('foo',
                        LunrConfig({
                            'backup': {
                                'client': 'memory'
                            },
                            'storage': {
                                'run_dir': self.scratch
                            }
                        }),
                        manifest=manifest)
        conn = worker.conn
        conn.put_container('foo')
        backup = manifest.create_backup('bak1')
        backup[0] = worker.empty_block_hash
        conn.put_object('foo', backup[0], 'zeroes')
        backup[1] = 'some_block_hash'
        conn.put_object('foo', backup[1], ' more stuff')
        save_manifest(manifest, conn, worker.id, worker._lock_path())
        # Add some non referenced blocks.
        conn.put_object('foo', 'stuff1', 'unreferenced stuff1')
        conn.put_object('foo', 'stuff2', 'unreferenced stuff2')
        conn.put_object('foo', 'stuff3', 'unreferenced stuff3')

        _headers, original_list = conn.get_container('foo')
        # Manifest, 2 blocks, 3 stuffs.
        self.assertEquals(len(original_list), 6)

        worker.audit()
        _headers, new_list = conn.get_container('foo')
        # Manifest, 2 blocks.
        self.assertEquals(len(new_list), 3)
Esempio n. 3
0
 def test_delete_with_missing_blocks(self):
     stats_path = os.path.join(self.scratch, 'stats')
     manifest = Manifest.blank(2)
     worker = Worker('foo',
                     LunrConfig({
                         'backup': {'client': 'memory'},
                         'storage': {'run_dir': self.scratch}
                     }),
                     manifest=manifest)
     conn = worker.conn
     conn.put_container('foo')
     backup = manifest.create_backup('bak1')
     backup[0] = worker.empty_block_hash
     backup[1] = 'some_random_block_that_isnt_uploaded'
     save_manifest(manifest, conn, worker.id, worker._lock_path())
     obj = conn.get_object('foo', 'manifest', newest=True)
     self.assertRaises(ClientException, conn.get_object,
                       'foo', backup[0], newest=True)
     self.assertRaises(ClientException, conn.get_object,
                       'foo', backup[1], newest=True)
     # Shouldn't blow up on 404.
     worker.delete('bak1')
     # Manifest should still be nicely deleted.
     self.assertRaises(ClientException, conn.get_object,
                       'foo', 'manifest', newest=True)
Esempio n. 4
0
 def test_delete_with_missing_blocks(self):
     stats_path = os.path.join(self.scratch, 'stats')
     manifest = Manifest.blank(2)
     worker = Worker('foo',
                     LunrConfig({
                         'backup': {
                             'client': 'memory'
                         },
                         'storage': {
                             'run_dir': self.scratch
                         }
                     }),
                     manifest=manifest)
     conn = worker.conn
     conn.put_container('foo')
     backup = manifest.create_backup('bak1')
     backup[0] = worker.empty_block_hash
     backup[1] = 'some_random_block_that_isnt_uploaded'
     save_manifest(manifest, conn, worker.id, worker._lock_path())
     obj = conn.get_object('foo', 'manifest', newest=True)
     self.assertRaises(ClientException,
                       conn.get_object,
                       'foo',
                       backup[0],
                       newest=True)
     self.assertRaises(ClientException,
                       conn.get_object,
                       'foo',
                       backup[1],
                       newest=True)
     # Shouldn't blow up on 404.
     worker.delete('bak1')
     # Manifest should still be nicely deleted.
     self.assertRaises(ClientException,
                       conn.get_object,
                       'foo',
                       'manifest',
                       newest=True)