Files
dev-gpt/test/unit/test_error_summarization.py
2023-05-27 09:44:16 +02:00

58 lines
3.1 KiB
Python

from dev_gpt.options.generate.generator import Generator
import os
def test_error_summarization(tmpdir):
os.environ['VERBOSE'] = 'true'
generator = Generator('', str(tmpdir), 'gpt-3.5-turbo')
summary = generator.summarize_error('''\
#15 [7/7] RUN pytest test_microservice.py
#15 3.142 ============================= test session starts ==============================
#15 3.142 platform linux -- Python 3.9.16, pytest-7.3.1, pluggy-1.0.0
#15 3.142 rootdir: /workdir
#15 3.142 plugins: anyio-3.6.2
#15 3.142 collected 1 item
#15 3.142
#15 3.142 test_microservice.py F [100%]
#15 4.780
#15 4.780 =================================== FAILURES ===================================
#15 4.780 ____________________________ test_func_output_type _____________________________
#15 4.780
#15 4.780 def test_func_output_type():
#15 4.780 """
#15 4.780 The test asserts that the output of func is of type 'object'.
#15 4.780 """
#15 4.780 input_dict = {'stock_symbol': 'AAPL'}
#15 4.780 input_json_dict_string = json.dumps(input_dict)
#15 4.780 > output_json_dict_string = func(input_json_dict_string)
#15 4.780
#15 4.780 test_microservice.py:11:
#15 4.780 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
#15 4.780
#15 4.780 input_json_dict_string = '{"stock_symbol": "AAPL"}'
#15 4.780
#15 4.780 def func(input_json_dict_string: str) -> str:
#15 4.780 """
#15 4.780 The microservice accepts a stock symbol as input and returns a summary of the company's stock performance over the past 30 days, including the company name and the average closing price. The input parameter is a string representing the stock symbol, and the output is a JSON object containing the company name and the average closing price. The microservice fetches stock data from an external API, calculates the average closing price, and generates a brief summary of the company's stock performance.
#15 4.780 """
#15 4.780 input_dict = json.loads(input_json_dict_string)
#15 4.780 stock_symbol = input_dict['stock_symbol']
#15 4.780 stock_data = yf.download(stock_symbol, period='30d')
#15 4.780 if stock_data.empty:
#15 4.780 return json.dumps({'error': 'Invalid stock symbol'})
#15 4.780 > company_name = yf.Ticker(stock_symbol).info['longName']
#15 4.780 E KeyError: 'longName'
#15 4.780
#15 4.780 microservice.py:16: KeyError
#15 4.780 ----------------------------- Captured stdout call -----------------------------
#15 4.780
[*********************100%***********************] 1 of 1 completed
#15 4.780 =========================== short test summary info ============================
#15 4.780 FAILED test_microservice.py::test_func_output_type - KeyError: 'longName'
#15 4.780 ============================== 1 failed in 3.31s ===============================''')
assert 'longName' in summary
assert 'yf.Ticker(stock_symbol).info' in summary
assert 'KeyError' in summary
assert 'microservice.py' in summary