def test_list_filter_flag_order_by_date(self): manager = BlobManager('', self.uri, self.secret, self.secret, 'user') yield manager._encrypt_and_upload('blob_id1', BytesIO("x")) yield manager._encrypt_and_upload('blob_id2', BytesIO("x")) yield manager._encrypt_and_upload('blob_id3', BytesIO("x")) yield manager.set_flags('blob_id1', [Flags.PROCESSING]) yield manager.set_flags('blob_id2', [Flags.PROCESSING]) yield manager.set_flags('blob_id3', [Flags.PROCESSING]) blobs_list = yield manager.remote_list(filter_flag=Flags.PROCESSING, order_by='+date') expected_list = ['blob_id1', 'blob_id2', 'blob_id3'] self.assertEquals(expected_list, blobs_list) blobs_list = yield manager.remote_list(filter_flag=Flags.PROCESSING, order_by='-date') self.assertEquals(list(reversed(expected_list)), blobs_list)
def test_flags_ignored_by_listing(self): manager = BlobManager('', self.uri, self.secret, self.secret, 'user') fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) yield manager.set_flags('blob_id', [Flags.PROCESSING]) blobs_list = yield manager.remote_list() self.assertEquals(['blob_id'], blobs_list)
def test_set_get_flags(self): manager = BlobManager('', self.uri, self.secret, self.secret, 'user') fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) yield manager.set_flags('blob_id', [Flags.PROCESSING]) flags = yield manager.get_flags('blob_id') self.assertEquals([Flags.PROCESSING], flags)
def test_list_filter_flag_order_by_date(self): manager = BlobManager('', self.uri, self.secret, self.secret, uuid4().hex) yield manager._encrypt_and_upload('blob_id1', BytesIO("x")) yield manager._encrypt_and_upload('blob_id2', BytesIO("x")) yield manager._encrypt_and_upload('blob_id3', BytesIO("x")) yield manager.set_flags('blob_id1', [Flags.PROCESSING]) yield manager.set_flags('blob_id2', [Flags.PROCESSING]) yield manager.set_flags('blob_id3', [Flags.PROCESSING]) blobs_list = yield manager.remote_list(filter_flag=Flags.PROCESSING, order_by='+date') expected_list = ['blob_id1', 'blob_id2', 'blob_id3'] self.assertEquals(expected_list, blobs_list) blobs_list = yield manager.remote_list(filter_flag=Flags.PROCESSING, order_by='-date') self.assertEquals(list(reversed(expected_list)), blobs_list)
def test_cant_set_invalid_flags(self): manager = BlobManager('', self.uri, self.secret, self.secret, 'user') fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) with pytest.raises(InvalidFlagsError): yield manager.set_flags('blob_id', ['invalid']) flags = yield manager.get_flags('blob_id') self.assertEquals([], flags)
def test_set_get_flags(self): manager = BlobManager('', self.uri, self.secret, self.secret, uuid4().hex) fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) yield manager.set_flags('blob_id', [Flags.PROCESSING]) flags = yield manager.get_flags('blob_id') self.assertEquals([Flags.PROCESSING], flags)
def test_flags_ignored_by_listing(self): manager = BlobManager('', self.uri, self.secret, self.secret, uuid4().hex) fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) yield manager.set_flags('blob_id', [Flags.PROCESSING]) blobs_list = yield manager.remote_list() self.assertEquals(['blob_id'], blobs_list)
def test_cant_set_invalid_flags(self): manager = BlobManager('', self.uri, self.secret, self.secret, uuid4().hex) fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) with pytest.raises(InvalidFlagsError): yield manager.set_flags('blob_id', ['invalid']) flags = yield manager.get_flags('blob_id') self.assertEquals([], flags)
def test_list_filter_flag(self): manager = BlobManager('', self.uri, self.secret, self.secret, uuid4().hex) fd = BytesIO("flag me") yield manager._encrypt_and_upload('blob_id', fd) yield manager.set_flags('blob_id', [Flags.PROCESSING]) blobs_list = yield manager.remote_list(filter_flag=Flags.PENDING) self.assertEquals([], blobs_list) blobs_list = yield manager.remote_list(filter_flag=Flags.PROCESSING) self.assertEquals(['blob_id'], blobs_list)
def test_set_flags_raises_if_no_blob_found(self): manager = BlobManager('', self.uri, self.secret, self.secret, 'user') with pytest.raises(SoledadError): yield manager.set_flags('missing_id', [Flags.PENDING])
def test_set_flags_raises_if_no_blob_found(self): manager = BlobManager('', self.uri, self.secret, self.secret, uuid4().hex) with pytest.raises(SoledadError): yield manager.set_flags('missing_id', [Flags.PENDING])