示例#1
0
 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'
         })
示例#2
0
 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")
示例#3
0
 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")