def test_common_request_get_signed_header(self, mock_get_rfc_2616_date): r = CommonRequest() r.set_version("version") r.set_uri_pattern('/users/[userid]') r.set_path_params({"userid": "jacksontian"}) r.set_product('product') r.trans_to_acs_request() self.assertEqual(r.get_url("regionid", "accesskeyid", "secret"), "/users/jacksontian") self.assertEqual(r.get_style(), "ROA") mock_get_rfc_2616_date.return_value = "2018-12-04T03:25:29Z" headers = r.get_signed_header("regionid", "accesskeyid", "secret") mock_get_rfc_2616_date.assert_called_once_with() self.assertDictEqual( headers, { 'Accept': 'application/octet-stream', 'Authorization': 'acs accesskeyid:Lq1u0OzLW/uqLQswxwhne97Umlw=', 'Date': '2018-12-04T03:25:29Z', 'x-acs-region-id': 'regionid', 'x-acs-signature-method': 'HMAC-SHA1', 'x-acs-signature-version': '1.0', 'x-acs-version': 'version', 'x-sdk-invoke-type': 'common' })
def test_trans_to_acs_request_to_roa(self): r = CommonRequest() # signed_header with self.assertRaises(ClientException) as ex: r.trans_to_acs_request() self.assertEqual(ex.exception.error_code, "SDK.InvalidParams") self.assertEqual( ex.exception.message, "common params [version] is required, cannot be empty") r.set_version("version") with self.assertRaises(ClientException) as ex: r.trans_to_acs_request() self.assertEqual(ex.exception.error_code, "SDK.InvalidParams") self.assertEqual( ex.exception.message, "At least one of [action] and [uri_pattern] has a value") r.set_uri_pattern("/users/:userid") with self.assertRaises(ClientException) as ex: r.trans_to_acs_request() self.assertEqual(ex.exception.error_code, "SDK.InvalidParams") self.assertEqual( ex.exception.message, "At least one of [domain] and [product_name] has a value") r.set_product('product') r.trans_to_acs_request() self.assertEqual(r.get_style(), "ROA")
def test_common_request_get_url(self): r = CommonRequest() r.set_version("version") r.set_uri_pattern('/users/[userid]') r.set_path_params({"userid": "jacksontian"}) r.set_product('product') r.trans_to_acs_request() self.assertEqual(r.get_style(), "ROA") url = r.get_url("regionid", "accesskeyid", "secret") self.assertEqual(url, "/users/jacksontian")