Исходный код работает:
import requests
from api.signals_add import SignalsAdd
class TestLogin:
def test_log_in(self):
url = 'https://api.stg.nuroblock.com/api/admin/auth/login'
data = {"email": "admin02@thinkmelius.com", "password": "123123"}
r = requests.post(url, json=data)
assert 200 == r.status_code
def test_create_signal(self):
json_for_create_signal = {
"signalType": "crypto",
"currencyFrom": "5c1e4633b140f7000f908897",
"currencyTo": "5c1e4633b140f7000f908898",
"currencyPair": "5cbd7faf496a8c001124ed5b",
"type": "sell",
"buyTip": {"value": 21313},
"stopTip": 21312.9999,
"stopTipPips": "-1",
"takeProfits": [{"value": 21313.0111, "isAchieved": False, "closeOnReach": False, "pips": "+111"}],
"status": "active",
"orderType": "market"
}
result = requests.post("https://api.stg.nuroblock.com/api/admin/signals",
json=json_for_create_signal,
headers={'Authorization': 'Bearer ea3d14e631683062073186622d58d2a16HSGB9JDC0ZYtELpwEGL8eNma36EdXei/B72NOa5Y5ln0Sn3+BsWoZdNxK7L2LO4',
'Content-Type': 'application/json'})
'Content-Type': 'application/json'})
Но, когда я разделил его на два класса - класс API и класс Test, последний параметр не может быть найден
класс API
import requests
class SignalsAdd:
def create_signal(self, signalType, currencyFrom, currencyTo, currencyPair,
type, buyTip, stopTip, stopTipPips, takeProfits_value,
isAchieved, closeOnReach, pips,
status, orderType):
json_for_create_signal = {
"signalType": signalType,
"currencyFrom": currencyFrom,
"currencyTo": currencyTo,
"currencyPair": currencyPair,
"type": type,
"buyTip": {"value": buyTip},
"stopTip": stopTip,
"stopTipPips": stopTipPips,
"takeProfits": [{"value": takeProfits_value, "isAchieved": isAchieved, "closeOnReach": closeOnReach,
"pips": pips}],
"status": status,
"orderType": orderType
}
result = requests.post("https://api.stg.nuroblock.com/api/admin/signals",
json=json_for_create_signal,
headers={'Authorization': 'Bearer ea3d14e631683062073186622d58d2a16HSGB9JDC0ZYtELpwEGL8eNma36EdXei/B72NOa5Y5ln0Sn3+BsWoZdNxK7L2LO4',
'Content-Type': 'application/json'})
assert result.status_code == 201
response_json = result.json()
print(response_json)
Тестовый класс
class TestLogin:
def test_log_in(self):
url = 'https://api.stg.nuroblock.com/api/admin/auth/login'
data = {"email": "admin02@thinkmelius.com", "password": "123123"}
r = requests.post(url, json=data)
assert 200 == r.status_code
def test_create_signal(self):
add_signal = SignalsAdd.create_signal("crypto", "5c1e4633b140f7000f908897", "5c1e4633b140f7000f908898",
"5cbd7faf496a8c001124ed5b", "sell", 21313, 21312.9999, "-1", 21313.0111,
False, False, "+111", "active", "market")
Я получаю эту ошибку: TypeError: create_signal() missing 1 required positional argument: 'orderType'