| 18 | |
| 19 | |
| 20 | class ShareSamples(): |
| 21 | def __init__(self, account): |
| 22 | self.account = account |
| 23 | |
| 24 | def run_all_samples(self): |
| 25 | self.service = self.account.create_file_service() |
| 26 | |
| 27 | self.create_share() |
| 28 | self.delete_share() |
| 29 | self.share_metadata() |
| 30 | self.share_properties() |
| 31 | self.share_stats() |
| 32 | self.share_exists() |
| 33 | |
| 34 | self.list_shares() |
| 35 | |
| 36 | # This method contains sleeps, so don't run by default |
| 37 | # self.service_properties() |
| 38 | |
| 39 | def _get_share_reference(self, prefix='share'): |
| 40 | return '{}{}'.format(prefix, str(uuid.uuid4()).replace('-', '')) |
| 41 | |
| 42 | def _create_share(self, prefix='share'): |
| 43 | share_name = self._get_share_reference(prefix) |
| 44 | self.service.create_share(share_name) |
| 45 | return share_name |
| 46 | |
| 47 | def create_share(self): |
| 48 | # Basic |
| 49 | share_name1 = self._get_share_reference() |
| 50 | created = self.service.create_share(share_name1) # True |
| 51 | |
| 52 | # Quota |
| 53 | share_name2 = self._get_share_reference() |
| 54 | created = self.service.create_share(share_name2, quota=1) # True |
| 55 | |
| 56 | # Metadata |
| 57 | metadata = {'val1': 'foo', 'val2': 'blah'} |
| 58 | share_name3 = self._get_share_reference() |
| 59 | created = self.service.create_share(share_name3, metadata=metadata) # True |
| 60 | |
| 61 | # Fail on exist |
| 62 | share_name4 = self._get_share_reference() |
| 63 | created = self.service.create_share(share_name4) # True |
| 64 | created = self.service.create_share(share_name4) # False |
| 65 | try: |
| 66 | self.service.create_share(share_name4, fail_on_exist=True) |
| 67 | except AzureConflictHttpError: |
| 68 | pass |
| 69 | |
| 70 | self.service.delete_share(share_name1) |
| 71 | self.service.delete_share(share_name2) |
| 72 | self.service.delete_share(share_name3) |
| 73 | self.service.delete_share(share_name4) |
| 74 | |
| 75 | def delete_share(self): |
| 76 | # Basic |
| 77 | share_name = self._create_share() |
no outgoing calls