Best Python code snippet using tempest_python
test_container_services.py
Source:test_container_services.py  
...107    def test_list_container_contents(self):108        # get container contents list109        container_name = self.create_container()110        object_name, _ = self.create_object(container_name)111        resp, object_list = self.container_client.list_container_objects(112            container_name)113        self.assertHeaders(resp, 'Container', 'GET')114        self.assertEqual([object_name], object_list)115    @decorators.idempotent_id('4646ac2d-9bfb-4c7d-a3c5-0f527402b3df')116    def test_list_container_contents_with_no_object(self):117        # get empty container contents list118        container_name = self.create_container()119        resp, object_list = self.container_client.list_container_objects(120            container_name)121        self.assertHeaders(resp, 'Container', 'GET')122        self.assertEmpty(object_list)123    @decorators.idempotent_id('fe323a32-57b9-4704-a996-2e68f83b09bc')124    def test_list_container_contents_with_delimiter(self):125        # get container contents list using delimiter param126        container_name = self.create_container()127        object_name = data_utils.rand_name(name='TestObject/')128        self.create_object(container_name, object_name)129        params = {'delimiter': '/'}130        resp, object_list = self.container_client.list_container_objects(131            container_name,132            params=params)133        self.assertHeaders(resp, 'Container', 'GET')134        self.assertEqual([object_name.split('/')[0] + '/'], object_list)135    @decorators.idempotent_id('55b4fa5c-e12e-4ca9-8fcf-a79afe118522')136    def test_list_container_contents_with_end_marker(self):137        # get container contents list using end_marker param138        container_name = self.create_container()139        object_name, _ = self.create_object(container_name)140        params = {'end_marker': object_name + 'zzzz'}141        resp, object_list = self.container_client.list_container_objects(142            container_name,143            params=params)144        self.assertHeaders(resp, 'Container', 'GET')145        self.assertEqual([object_name], object_list)146    @decorators.idempotent_id('196f5034-6ab0-4032-9da9-a937bbb9fba9')147    def test_list_container_contents_with_format_json(self):148        # get container contents list using format_json param149        container_name = self.create_container()150        self.create_object(container_name)151        params = {'format': 'json'}152        resp, object_list = self.container_client.list_container_objects(153            container_name,154            params=params)155        self.assertHeaders(resp, 'Container', 'GET')156        self.assertIsNotNone(object_list)157        self.assertTrue([c['name'] for c in object_list])158        self.assertTrue([c['hash'] for c in object_list])159        self.assertTrue([c['bytes'] for c in object_list])160        self.assertTrue([c['content_type'] for c in object_list])161        self.assertTrue([c['last_modified'] for c in object_list])162    @decorators.idempotent_id('655a53ca-4d15-408c-a377-f4c6dbd0a1fa')163    def test_list_container_contents_with_format_xml(self):164        # get container contents list using format_xml param165        container_name = self.create_container()166        self.create_object(container_name)167        params = {'format': 'xml'}168        resp, object_list = self.container_client.list_container_objects(169            container_name,170            params=params)171        self.assertHeaders(resp, 'Container', 'GET')172        self.assertIsNotNone(object_list)173        self.assertEqual(object_list.tag, 'container')174        self.assertIn('name', object_list.keys())175        self.assertEqual(object_list.find(".//object").tag, 'object')176        self.assertEqual(object_list.find(".//name").tag, 'name')177        self.assertEqual(object_list.find(".//hash").tag, 'hash')178        self.assertEqual(object_list.find(".//bytes").tag, 'bytes')179        self.assertEqual(object_list.find(".//content_type").tag,180                         'content_type')181        self.assertEqual(object_list.find(".//last_modified").tag,182                         'last_modified')183    @decorators.idempotent_id('297ec38b-2b61-4ff4-bcd1-7fa055e97b61')184    def test_list_container_contents_with_limit(self):185        # get container contents list using limit param186        container_name = self.create_container()187        object_name, _ = self.create_object(container_name)188        params = {'limit': data_utils.rand_int_id(1, 10000)}189        resp, object_list = self.container_client.list_container_objects(190            container_name,191            params=params)192        self.assertHeaders(resp, 'Container', 'GET')193        self.assertEqual([object_name], object_list)194    @decorators.idempotent_id('c31ddc63-2a58-4f6b-b25c-94d2937e6867')195    def test_list_container_contents_with_marker(self):196        # get container contents list using marker param197        container_name = self.create_container()198        object_name, _ = self.create_object(container_name)199        params = {'marker': 'AaaaObject1234567890'}200        resp, object_list = self.container_client.list_container_objects(201            container_name,202            params=params)203        self.assertHeaders(resp, 'Container', 'GET')204        self.assertEqual([object_name], object_list)205    @decorators.idempotent_id('58ca6cc9-6af0-408d-aaec-2a6a7b2f0df9')206    def test_list_container_contents_with_path(self):207        # get container contents list using path param208        container_name = self.create_container()209        object_name = data_utils.rand_name(name='TestObject')210        object_name = 'Swift/' + object_name211        self.create_object(container_name, object_name)212        params = {'path': 'Swift'}213        resp, object_list = self.container_client.list_container_objects(214            container_name,215            params=params)216        self.assertHeaders(resp, 'Container', 'GET')217        self.assertEqual([object_name], object_list)218    @decorators.idempotent_id('77e742c7-caf2-4ec9-8aa4-f7d509a3344c')219    def test_list_container_contents_with_prefix(self):220        # get container contents list using prefix param221        container_name = self.create_container()222        object_name, _ = self.create_object(container_name)223        prefix_key = object_name[0:8]224        params = {'prefix': prefix_key}225        resp, object_list = self.container_client.list_container_objects(226            container_name,227            params=params)228        self.assertHeaders(resp, 'Container', 'GET')229        self.assertEqual([object_name], object_list)230    @decorators.attr(type='smoke')231    @decorators.idempotent_id('96e68f0e-19ec-4aa2-86f3-adc6a45e14dd')232    def test_list_container_metadata(self):233        # List container metadata234        container_name = self.create_container()235        metadata = {'name': 'Pictures'}236        self.container_client.create_update_or_delete_container_metadata(237            container_name,238            create_update_metadata=metadata)239        resp, _ = self.container_client.list_container_metadata(...Provider.py
Source:Provider.py  
...56        else:57            print('Directory already present')58 #function to delete a directory59    def deleteDir(self, dirName):60        objects = self.s3Resource.list_container_objects(self.container)61        dirFilesList = []62        for objs in objects:63            if objs.name.startswith(self.trimFileNamePath(dirName)):64                self.s3Resource.delete_object(obj=objs)65                dirFilesList.append(objs.name)66        if len(dirFilesList) == 0:67            print("Directory not found")68        else:69            print('Directory deleted')70# function to delete a file71    def deleteFile(self, fileName, dirName):72        HEADING()73        filePath = self.joinFileNameDir(fileName, dirName)74        try:75            objs = self.s3Resource.get_object(self.container_name, filePath)76        except ObjectDoesNotExistError:77            print("File does not exist")78        else:79            delete_file_object = self.s3Resource.get_object(container_name=self.container_name, object_name=filePath)80            self.s3Resource.delete_object(obj=delete_file_object)81            print('File deleted')82 # function to upload a file to cloud from local storage83    def putFile(self, sourceFilename, sourceDir, destFilename, destDir):84        HEADING()85        sourceFilePath = self.joinFileNameDir(sourceFilename,sourceDir)86        targetFilePath = self.joinFileNameDir(destFilename,destDir)87        self.s3Resource.upload_object(sourceFilePath, self.container, targetFilePath, extra=None, verify_hash=True)88        print('File uploaded')89 # function to download a file from a cloud to local storage90    def getFile(self, sourceFilename, sourceDir, destFilename, destDir):91        HEADING()92        sourceFilePath = self.joinFileNameDir(sourceFilename,sourceDir)93        targetFilePath = self.joinFileNameDir(destFilename,destDir)94        file_object = self.s3Resource.get_object(container_name=self.container_name, object_name=sourceFilePath)95        self.s3Resource.download_object(file_object, targetFilePath, overwrite_existing=True, delete_on_failure=True)96        print('File downloaded')97# function to list files in a directory98    def listDirFiles(self, dirName):99        objects = self.s3Resource.list_container_objects(self.container)100        dirFilesList = []101        for objs in objects:102            if objs.name.startswith(self.trimFileNamePath(dirName)):103                #print("File found in directory")104                print(objs.name)105                dirFilesList.append(objs.name)106        if len(dirFilesList) == 0:107            print("No files found in directory")108# function to search a file109    def searchFile(self, fileName, dirName):110            HEADING()111            filePath = self.joinFileNameDir(fileName, dirName)112            dirFilesList = []113            try:114                if (len(dirName)>0):115                   objs = self.s3Resource.get_object(self.container_name, filePath)116                   print(objs.name)117                else:118                   objs = self.s3Resource.list_container_objects(self.container)119                   for obj in objs:120                     if self.splitToList(obj.name)[-1] == fileName:121                        print(obj.name)122                        dirFilesList.append(obj.name)123                   if len(dirFilesList) == 0:124                       print("File does not exist")125            except ObjectDoesNotExistError:126                print("File does not exist")127# function to list file info128    def listFileInfo(self, fileName, dirName):129        HEADING()130        filePath = self.joinFileNameDir(fileName, dirName)131        dirFilesList = []132        infoList = []133        try:134            if (len(dirName) > 0):135                objs = self.s3Resource.get_object(self.container_name, filePath)136                print(objs.name)137                info = {138                    "fileName": objs.name,139                    "hash": objs.hash,140                    "contentLength": objs.size141                }142                infoList.append(info)143            else:144                objs = self.s3Resource.list_container_objects(self.container)145                for obj in objs:146                    if self.splitToList(obj.name)[-1] == fileName:147                        info = {148                            "fileName": obj.name,149                            "hash": obj.hash,150                            "contentLength": obj.size151                        }152                        dirFilesList.append(obj.name)153                        infoList.append(info)154                if len(dirFilesList) == 0:155                    print("File does not exist")156        except ObjectDoesNotExistError:157            print("File does not exist")158        pprint(infoList)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
