def test_no_authentication_headers(self):
        auth = BybitPerpetualAuth(api_key=self.api_key,
                                  secret_key=self.secret_key)
        headers = auth.get_headers()

        self.assertEqual(1, len(headers))
        self.assertEqual('application/json', headers.get('Content-Type'))
Пример #2
0
    def test_get_header_without_referer(self):
        auth = BybitPerpetualAuth(api_key=self.api_key, secret_key=self.secret_key)
        expected_header = {
            "Content-Type": "application/json"
        }

        header = auth.get_headers()
        self.assertTrue(header, expected_header)
Пример #3
0
    def test_get_header_with_referer(self):
        auth = BybitPerpetualAuth(api_key=self.api_key, secret_key=self.secret_key)
        expected_header = {
            "Content-Type": "application/json",
            "Referer": CONSTANTS.HBOT_BROKER_ID
        }

        header = auth.get_headers(referer_header_required=True)
        self.assertTrue(header, expected_header)
    def setUp(self) -> None:
        super().setUp()
        self.ws_sent_messages = []
        self.ws_incoming_messages = asyncio.Queue()
        self.listening_task = None

        self.tracker = BybitPerpetualUserStreamTracker(
            auth_assistant=BybitPerpetualAuth(api_key='testAPIKey',
                                              secret_key='testSecret'))
Пример #5
0
    def test_ws_auth_payload(self):
        auth = BybitPerpetualAuth(api_key=self.api_key, secret_key=self.secret_key)

        expires = self._get_expiration_timestamp()

        with patch.object(auth, 'get_expiration_timestamp') as get_expires_ts_mock:
            get_expires_ts_mock.return_value = expires
            payload = auth.get_ws_auth_payload()

        raw_signature = 'GET/realtime' + expires
        expected_signature = hmac.new(self.secret_key.encode('utf-8'),
                                      raw_signature.encode('utf-8'),
                                      hashlib.sha256).hexdigest()

        self.assertEqual(3, len(payload))
        self.assertEqual(self.api_key, payload[0])
        self.assertEqual(expires, payload[1])
        self.assertEqual(expected_signature, payload[2])
Пример #6
0
    def test_authentication_headers(self):
        auth = BybitPerpetualAuth(api_key=self.api_key, secret_key=self.secret_key)

        timestamp = self._get_timestamp()
        headers = {}

        with patch.object(auth, 'get_timestamp') as get_timestamp_mock:
            get_timestamp_mock.return_value = timestamp
            headers = auth.extend_params_with_authentication_info(headers)

        raw_signature = "api_key=" + self.api_key + "&timestamp=" + timestamp
        expected_signature = hmac.new(self.secret_key.encode('utf-8'),
                                      raw_signature.encode('utf-8'),
                                      hashlib.sha256).hexdigest()

        self.assertEqual(3, len(headers))
        self.assertEqual(timestamp, headers.get('timestamp'))
        self.assertEqual(self.api_key, headers.get('api_key'))
        self.assertEqual(expected_signature, headers.get('sign'))
    def setUp(self) -> None:
        super().setUp()
        self.api_key = 'testAPIKey'
        self.secret = 'testSecret'
        self.log_records = []
        self.listening_task = None

        self.data_source = BybitPerpetualUserStreamDataSource(
            auth_assistant=BybitPerpetualAuth(api_key=self.api_key,
                                              secret_key=self.secret))
        self.data_source.logger().setLevel(1)
        self.data_source.logger().addHandler(self)

        self.mocking_assistant = NetworkMockingAssistant()