示例#1
0
    def test_list_ranges_2_from_snapshot(self):
        # Arrange
        file_name = self._get_file_reference()
        file_client = FileClient(
            self.get_file_url(),
            share=self.share_name,
            file_path=file_name,
            credential=self.settings.STORAGE_ACCOUNT_KEY)
        file_client.create_file(2048)
        data = b'abcdefghijklmnop' * 32
        resp1 = file_client.upload_range(data, 0, 511)
        resp2 = file_client.upload_range(data, 1024, 1535)
        
        share_client = self.fsc.get_share_client(self.share_name)
        snapshot = share_client.create_snapshot()
        snapshot_client = FileClient(
            self.get_file_url(),
            share=self.share_name,
            file_path=file_client.file_name,
            snapshot=snapshot,
            credential=self.settings.STORAGE_ACCOUNT_KEY)

        file_client.delete_file()

        # Act
        ranges = snapshot_client.get_ranges()

        # Assert
        self.assertIsNotNone(ranges)
        self.assertEqual(len(ranges), 2)
        self.assertEqual(ranges[0]['start'], 0)
        self.assertEqual(ranges[0]['end'], 511)
        self.assertEqual(ranges[1]['start'], 1024)
        self.assertEqual(ranges[1]['end'], 1535)
示例#2
0
    def test_list_ranges_none_from_snapshot(self):
        # Arrange
        file_name = self._get_file_reference()
        file_client = FileClient(
            self.get_file_url(),
            share=self.share_name,
            file_path=file_name,
            credential=self.settings.STORAGE_ACCOUNT_KEY)
        file_client.create_file(1024)
        
        share_client = self.fsc.get_share_client(self.share_name)
        snapshot = share_client.create_snapshot()
        snapshot_client = FileClient(
            self.get_file_url(),
            share=self.share_name,
            file_path=file_client.file_name,
            snapshot=snapshot,
            credential=self.settings.STORAGE_ACCOUNT_KEY)

        file_client.delete_file()

        # Act
        ranges = snapshot_client.get_ranges()

        # Assert
        self.assertIsNotNone(ranges)
        self.assertEqual(len(ranges), 0)
示例#3
0
    def test_create_file(self):
        # Arrange
        file_name = self._get_file_reference()
        file_client = FileClient(self.get_file_url(),
                                 share=self.share_name,
                                 file_path=file_name,
                                 credential=self.settings.STORAGE_ACCOUNT_KEY)

        # Act
        resp = file_client.create_file(1024)

        # Assert
        props = file_client.get_file_properties()
        self.assertIsNotNone(props)
        self.assertEqual(props.etag, resp['etag'])
        self.assertEqual(props.last_modified, resp['last_modified'])
示例#4
0
    def test_create_file_with_metadata(self):
        # Arrange
        metadata = {'hello': 'world', 'number': '42'}
        file_name = self._get_file_reference()
        file_client = FileClient(self.get_file_url(),
                                 share=self.share_name,
                                 file_path=file_name,
                                 credential=self.settings.STORAGE_ACCOUNT_KEY)

        # Act
        resp = file_client.create_file(1024, metadata=metadata)

        # Assert
        props = file_client.get_file_properties()
        self.assertIsNotNone(props)
        self.assertEqual(props.etag, resp['etag'])
        self.assertEqual(props.last_modified, resp['last_modified'])
        self.assertDictEqual(props.metadata, metadata)