1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
# The MIT License (MIT)
# Copyright (c) Microsoft Corporation. All rights reserved.
import unittest
import test_config
import pytest
from azure.cosmos import CosmosClient
@pytest.mark.cosmosEmulator
class TestUserAgentSuffix(unittest.TestCase):
"""Python User Agent Suffix Tests.
"""
client: CosmosClient = None
host = test_config.TestConfig.host
masterKey = test_config.TestConfig.masterKey
connectionPolicy = test_config.TestConfig.connectionPolicy
@classmethod
def setUpClass(cls):
if (cls.masterKey == '[YOUR_KEY_HERE]' or
cls.host == '[YOUR_ENDPOINT_HERE]'):
raise Exception(
"You must specify your Azure Cosmos account values for "
"'masterKey' and 'host' at the top of this class to run the "
"tests.")
def test_user_agent_suffix_no_special_character(self):
user_agent_suffix = "TestUserAgent"
self.client = CosmosClient(self.host, self.masterKey, user_agent=user_agent_suffix)
self.created_database = self.client.get_database_client(test_config.TestConfig.TEST_DATABASE_ID)
read_result = self.created_database.read()
assert read_result['id'] == self.created_database.id
def test_user_agent_suffix_special_character(self):
user_agent_suffix = "TéstUserAgent's" # cspell:disable-line
self.client = CosmosClient(self.host, self.masterKey, user_agent=user_agent_suffix)
self.created_database = self.client.get_database_client(test_config.TestConfig.TEST_DATABASE_ID)
read_result = self.created_database.read()
assert read_result['id'] == self.created_database.id
def test_user_agent_suffix_unicode_character(self):
user_agent_suffix = "UnicodeCharé±€InUserAgent"
try:
self.client = CosmosClient(self.host, self.masterKey, user_agent=user_agent_suffix)
self.created_database = self.client.get_database_client(test_config.TestConfig.TEST_DATABASE_ID)
self.created_database.read()
pytest.fail("Unicode characters should not be allowed.")
except UnicodeEncodeError as e:
assert "ordinal not in range(256)" in e.reason
def test_user_agent_suffix_space_character(self):
user_agent_suffix = "UserAgent with space$%_^()*&"
self.client = CosmosClient(self.host, self.masterKey, user_agent=user_agent_suffix)
self.created_database = self.client.get_database_client(test_config.TestConfig.TEST_DATABASE_ID)
read_result = self.created_database.read()
assert read_result['id'] == self.created_database.id
if __name__ == '__main__':
unittest.main()
|