def test_basics(self): deuceclient_version = deuceclient.version() apihost = 'myapi' uripath = '/someuri' expected_agent = 'Deuce-Client/{0:}'.format(deuceclient_version) expected_uri = "https://" + apihost + uripath with mock.patch('deuceclient.version') as mock_deuceversion: mock_deuceversion.return_value = deuceclient_version command = deuceclient.common.command.Command(apihost, uripath, True) self.assertIn('X-Deuce-User-Agent', command.headers) self.assertIn('User-Agent', command.headers) self.assertEqual(expected_agent, command.headers['X-Deuce-User-Agent']) self.assertEqual(expected_agent, command.headers['User-Agent']) self.assertEqual(command.headers['X-Deuce-User-Agent'], command.headers['User-Agent']) self.assertEqual(expected_uri, command.uri) self.assertEqual(expected_uri, command.Uri) self.assertEqual(command.headers, command.Headers) self.assertEqual(apihost, command.ApiHost) self.assertIsNone(command.body) self.assertIsNone(command.Body) self.assertEqual(command.body, command.Body)
def test_version(self): deuce_client_version = deuceclient.version() version_data = deuce_client_version.split('.') self.assertEqual(int(version_data[0]), deuceclient.__DEUCECLIENT_VERSION__['major']) self.assertEqual(int(version_data[1]), deuceclient.__DEUCECLIENT_VERSION__['minor']) self.assertEqual(len(version_data), len(deuceclient.__DEUCECLIENT_VERSION__))
def setUp(self): super(ClientTestBase, self).setUp() self.deuceclient_version = deuceclient.version() self.apihost = 'deuce-api-test' self.uripath = '/' self.expected_agent = 'Deuce-Client/{0:}'.format( self.deuceclient_version) self.expected_uri = "https://" + self.apihost + self.uripath self.authenticator = FakeAuthenticator(userid='cheshirecat', usertype='username', credentials='alice', auth_method='password', datacenter='wonderland', auth_url='down.the.rabbit.hole') self.project = api_project.Project(create_project_name()) self.vault = api_vault.Vault(create_project_name(), create_vault_name())
def ReInit(self, sslenabled, uripath): """ Reinitialize the HTTP URI with the new specification Useful for objects that provide access to multiple HTTP REST API calls """ # By default there is no HTTP Body Data self.body = None # By default we set the HTTP Content Type self.headers = {} self.headers['Content-Type'] = 'application/json; charset=utf-8' self.headers['X-Deuce-User-Agent'] = 'Deuce-Client/{0:}'.format( deuceclient.version()) self.headers['User-Agent'] = self.headers['X-Deuce-User-Agent'] if not uripath.startswith('/'): uripath = '/' + uripath # HTTP or HTTPS if sslenabled is True: self.uri = "https://" + self.apihost + uripath else: self.uri = "http://" + self.apihost + uripath