def test_dataset_subscription_info_default_credentials(self, mocked_credentials, mock_fetch): # Given expected_credentials = Credentials('fake_user', '1234') mocked_credentials.return_value = expected_credentials dataset = Dataset(db_dataset1) # When dataset.subscription_info() # Then mock_fetch.assert_called_once_with(db_dataset1['id'], 'dataset', expected_credentials)
def test_dataset_subscription_info_wrong_credentials(self): # Given wrong_credentials = 1234 dataset = Dataset(db_dataset1) # When with pytest.raises(ValueError) as e: dataset.subscription_info(wrong_credentials) # Then assert str(e.value) == ('Credentials attribute is required. ' 'Please pass a `Credentials` instance ' 'or use the `set_default_credentials` function.')
def test_dataset_subscription_info(self, mock_fetch): # Given mock_fetch.return_value = test_subscription_info credentials = Credentials('fake_user', '1234') dataset = Dataset(db_dataset1) # When info = dataset.subscription_info(credentials) # Then mock_fetch.assert_called_once_with(db_dataset1['id'], 'dataset', credentials) assert isinstance(info, SubscriptionInfo) assert info.id == test_subscription_info['id'] assert info.estimated_delivery_days == test_subscription_info[ 'estimated_delivery_days'] assert info.subscription_list_price == test_subscription_info[ 'subscription_list_price'] assert info.tos == test_subscription_info['tos'] assert info.tos_link == test_subscription_info['tos_link'] assert info.licenses == test_subscription_info['licenses'] assert info.licenses_link == test_subscription_info['licenses_link'] assert info.rights == test_subscription_info['rights'] assert str(info) == 'Properties: id, estimated_delivery_days, ' + \ 'subscription_list_price, tos, tos_link, ' + \ 'licenses, licenses_link, rights'
def test_dataset_subscription_info_without_do_enabled(self, mock_fetch): # Given def raise_exception(a, b, c): raise ServerErrorException(['The user does not have Data Observatory enabled']) mock_fetch.side_effect = raise_exception dataset = Dataset(db_dataset1) credentials = Credentials('fake_user', '1234') # When with pytest.raises(Exception) as e: dataset.subscription_info(credentials) # Then assert str(e.value) == ( 'We are sorry, the Data Observatory is not enabled for your account yet. ' 'Please contact your customer success manager or send an email to ' '[email protected] to request access to it.')