def test_join_bad_request(self): fake_docker_network_id = hashlib.sha256( str(random.getrandbits(256))).hexdigest() invalid_docker_endpoint_id = 'id-should-be-hexdigits' fake_container_id = hashlib.sha256( str(random.getrandbits(256))).hexdigest() response = self._invoke_join_request( fake_docker_network_id, invalid_docker_endpoint_id, utils.get_sandbox_key(fake_container_id)) self.assertEqual(400, response.status_code) decoded_json = jsonutils.loads(response.data) self.assertTrue('Err' in decoded_json) # TODO(tfukushima): Add the better error message validation. self.assertTrue(invalid_docker_endpoint_id in decoded_json['Err']) self.assertTrue('EndpointID' in decoded_json['Err'])
def test_network_driver_join(self): fake_docker_network_id = hashlib.sha256( str(random.getrandbits(256))).hexdigest() fake_docker_endpoint_id = hashlib.sha256( str(random.getrandbits(256))).hexdigest() fake_container_id = hashlib.sha256( str(random.getrandbits(256))).hexdigest() data = { 'NetworkID': fake_docker_network_id, 'EndpointID': fake_docker_endpoint_id, 'SandboxKey': utils.get_sandbox_key(fake_container_id), 'Options': {}, } response = self.app.post('/NetworkDriver.Join', content_type='application/json', data=jsonutils.dumps(data)) self.assertEqual(200, response.status_code) decoded_json = jsonutils.loads(response.data) app.logger.info(decoded_json) self.assertEqual(constants.SCHEMA['JOIN'], decoded_json)
def test_get_sandbox_key(self, fake_container_id): sandbox_key = utils.get_sandbox_key(fake_container_id) expected = '/'.join([utils.DOCKER_NETNS_BASE, fake_container_id[:12]]) self.assertEqual(expected, sandbox_key)