Best Python code snippet using lisa_python
api.py
Source:api.py  
...71    def create_storage_credential(self, cred_spec, skip_validation):72        return self.client.create_storage_credential(cred_spec, skip_validation)73    def list_storage_credentials(self, name_pattern):74        return self.client.list_storage_credentials(name_pattern)75    def get_storage_credential(self, name):76        return self.client.get_storage_credential(name)77    def update_storage_credential(self, name, cred_spec, skip_validation):78        return self.client.update_storage_credential(name, cred_spec, skip_validation)79    def delete_storage_credential(self, name, force):80        return self.client.delete_storage_credential(name, force)81    # Catalog APIs82    def create_catalog(self, catalog_name, comment, provider, share):83        return self.client.create_catalog(catalog_name, comment, provider, share)84    def list_catalogs(self):85        return self.client.list_catalogs()86    def get_catalog(self, name):87        return self.client.get_catalog(name)88    def update_catalog(self, name, catalog_spec):89        return self.client.update_catalog(name, catalog_spec)90    def delete_catalog(self, catalog_name):...test_cred_cli.py
Source:test_cred_cli.py  
1# Databricks CLI2# Copyright 2017 Databricks, Inc.3#4# Licensed under the Apache License, Version 2.0 (the "License"), except5# that the use of services to which certain application programming6# interfaces (each, an "API") connect requires that the user first obtain7# a license for the use of the APIs from Databricks, Inc. ("Databricks"),8# by creating an account at www.databricks.com and agreeing to either (a)9# the Community Edition Terms of Service, (b) the Databricks Terms of10# Service, or (c) another written agreement between Licensee and Databricks11# for the use of the APIs.12#13# You may not use this file except in compliance with the License.14# You may obtain a copy of the License at15#16#    http://www.apache.org/licenses/LICENSE-2.017#18# Unless required by applicable law or agreed to in writing, software19# distributed under the License is distributed on an "AS IS" BASIS,20# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.21# See the License for the specific language governing permissions and22# limitations under the License.23# pylint:disable=redefined-outer-name24import mock25import pytest26from click.testing import CliRunner27from databricks_cli.unity_catalog.utils import mc_pretty_format28from databricks_cli.unity_catalog import cred_cli29from tests.utils import provide_conf30STORAGE_CREDENTIAL_NAME = 'test_storage_credential_name'31AWS_IAM_ROLE_ARN = 'test_aws_iam_role_arn'32AZ_SP_DIRECTORY_ID = 'test_az_sp_directory_id'33AZ_SP_APPLICATION_ID = 'test_az_sp_application_id'34AZ_SP_CLIENT_SEC = 'test_az_sp_client_secret'  # Named as such to suppress dodgy lint warnings35AZ_MI_ACCESS_CONNECTOR_ID = 'test_mi_access_connector_id'36AZ_MI_ID = 'test_mi_mid'37GCP_SAK_EMAIL = 'test_sak_email'38GCP_SAK_PRIVATE_KEY_ID = 'test_sak_private_key_id'39GCP_SAK_PRIVATE_KEY = 'test_sak_private_key'40COMMENT = 'some_comment'41STORAGE_CREDENTIALS = {42    'storage_credentials': [43        {44            'name': STORAGE_CREDENTIAL_NAME45        }46    ]47}48STORAGE_CREDENTIAL = {49    'name': STORAGE_CREDENTIAL_NAME,50    'aws_iam_role': {51        'role_arn': AWS_IAM_ROLE_ARN52    },53    'azure_service_principal': {54        'directory_id': AZ_SP_DIRECTORY_ID,55        'application_id': AZ_SP_APPLICATION_ID,56        'client_secret': AZ_SP_CLIENT_SEC57    },58    'azure_managed_identity': {59        'access_connector_id': AZ_MI_ACCESS_CONNECTOR_ID,60        'managed_identity_id': AZ_MI_ID61    },62    'gcp_service_account_key': {63        'email': GCP_SAK_EMAIL,64        'private_key_id': GCP_SAK_PRIVATE_KEY_ID,65        'private_key': GCP_SAK_PRIVATE_KEY66    },67    'comment': COMMENT68}69@pytest.fixture()70def api_mock():71    with mock.patch(72            'databricks_cli.unity_catalog.cred_cli.UnityCatalogApi') as uc_api_mock:73        _cred_api_mock = mock.MagicMock()74        uc_api_mock.return_value = _cred_api_mock75        yield _cred_api_mock76@pytest.fixture()77def echo_mock():78    with mock.patch('databricks_cli.unity_catalog.cred_cli.click.echo') as echo_mock:79        yield echo_mock80@provide_conf81def test_create_credential_cli(api_mock, echo_mock):82    api_mock.create_storage_credential.return_value = STORAGE_CREDENTIAL83    runner = CliRunner()84    runner.invoke(85        cred_cli.create_credential_cli,86        args=[87            '--name', STORAGE_CREDENTIAL_NAME,88            '--aws-iam-role-arn', AWS_IAM_ROLE_ARN,89            '--az-sp-directory-id', AZ_SP_DIRECTORY_ID,90            '--az-sp-application-id', AZ_SP_APPLICATION_ID,91            '--az-sp-client-secret', AZ_SP_CLIENT_SEC,92            '--az-mi-access-connector-id', AZ_MI_ACCESS_CONNECTOR_ID,93            '--az-mi-id', AZ_MI_ID,94            '--gcp-sak-email', GCP_SAK_EMAIL,95            '--gcp-sak-private-key-id', GCP_SAK_PRIVATE_KEY_ID,96            '--gcp-sak-private-key', GCP_SAK_PRIVATE_KEY,97            '--comment', COMMENT,98            '--skip-validation'99        ])100    api_mock.create_storage_credential.assert_called_once_with(STORAGE_CREDENTIAL, True)101    echo_mock.assert_called_once_with(mc_pretty_format(STORAGE_CREDENTIAL))102@provide_conf103def test_create_credential_cli_with_json(api_mock, echo_mock):104    api_mock.create_storage_credential.return_value = STORAGE_CREDENTIAL105    runner = CliRunner()106    runner.invoke(107        cred_cli.create_credential_cli,108        args=[109            '--json', '{ "name": "test_credential_name" }'110        ])111    api_mock.create_storage_credential.assert_called_once_with(112        {113            'name': 'test_credential_name'114        },115        False)116    echo_mock.assert_called_once_with(mc_pretty_format(STORAGE_CREDENTIAL))117@provide_conf118def test_list_credentials_cli(api_mock, echo_mock):119    api_mock.list_storage_credentials.return_value = STORAGE_CREDENTIALS120    runner = CliRunner()121    runner.invoke(cred_cli.list_credentials_cli)122    api_mock.list_storage_credentials.assert_called_once()123    echo_mock.assert_called_once_with(mc_pretty_format(STORAGE_CREDENTIALS))124@provide_conf125def test_get_credential_cli(api_mock, echo_mock):126    api_mock.get_storage_credential.return_value = STORAGE_CREDENTIAL127    runner = CliRunner()128    runner.invoke(129        cred_cli.get_credential_cli,130        args=['--name', STORAGE_CREDENTIAL_NAME])131    api_mock.get_storage_credential.assert_called_once_with(STORAGE_CREDENTIAL_NAME)132    echo_mock.assert_called_once_with(mc_pretty_format(STORAGE_CREDENTIAL))133@provide_conf134def test_update_credential_cli(api_mock, echo_mock):135    api_mock.update_storage_credential.return_value = STORAGE_CREDENTIAL136    runner = CliRunner()137    runner.invoke(138        cred_cli.update_credential_cli,139        args=[140            '--name', STORAGE_CREDENTIAL_NAME,141            '--new-name', 'new_credential_name',142            '--aws-iam-role-arn', AWS_IAM_ROLE_ARN,143            '--az-sp-directory-id', AZ_SP_DIRECTORY_ID,144            '--az-sp-application-id', AZ_SP_APPLICATION_ID,145            '--az-sp-client-secret', AZ_SP_CLIENT_SEC,146            '--az-mi-access-connector-id', AZ_MI_ACCESS_CONNECTOR_ID,147            '--az-mi-id', AZ_MI_ID,148            '--gcp-sak-email', GCP_SAK_EMAIL,149            '--gcp-sak-private-key-id', GCP_SAK_PRIVATE_KEY_ID,150            '--gcp-sak-private-key', GCP_SAK_PRIVATE_KEY,151            '--comment', COMMENT,152            '--owner', 'owner',153            '--skip-validation'154        ])155    expected_data = {156        'name': 'new_credential_name',157        'aws_iam_role': {158            'role_arn': AWS_IAM_ROLE_ARN159        },160        'azure_service_principal': {161            'directory_id': AZ_SP_DIRECTORY_ID,162            'application_id': AZ_SP_APPLICATION_ID,163            'client_secret': AZ_SP_CLIENT_SEC164        },165        'azure_managed_identity': {166            'access_connector_id': AZ_MI_ACCESS_CONNECTOR_ID,167            'managed_identity_id': AZ_MI_ID168        },169        'gcp_service_account_key': {170            'email': GCP_SAK_EMAIL,171            'private_key_id': GCP_SAK_PRIVATE_KEY_ID,172            'private_key': GCP_SAK_PRIVATE_KEY173        },174        'comment': COMMENT,175        'owner': 'owner'176    }177    api_mock.update_storage_credential.assert_called_once_with(178        STORAGE_CREDENTIAL_NAME, expected_data, True)179    echo_mock.assert_called_once_with(mc_pretty_format(STORAGE_CREDENTIAL))180@provide_conf181def test_update_credential_cli_with_json(api_mock, echo_mock):182    api_mock.update_storage_credential.return_value = STORAGE_CREDENTIAL183    runner = CliRunner()184    runner.invoke(185        cred_cli.update_credential_cli,186        args=[187            '--name', STORAGE_CREDENTIAL_NAME,188            '--json', '{ "name": "new_credential_name" }'189        ])190    api_mock.update_storage_credential.assert_called_once_with(191        STORAGE_CREDENTIAL_NAME,192        {193            'name': 'new_credential_name'194        },195        False)196    echo_mock.assert_called_once_with(mc_pretty_format(STORAGE_CREDENTIAL))...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!!
