PoeTrade/tests/test_messages.py

80 lines
3.5 KiB
Python

from src import config
from src import data
from datetime import datetime
from src.data import Channel
def test_message_from():
conf = config.read_config(r'config.yaml')
data.compile_regex(conf)
text = '2021/03/08 23:24:52 17931875 bb3 [INFO Client 1492] @From NyhaiPuki: Hi, I would like to buy your level 21 23% Vaal Impurity of Lightning ' \
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
message = data.Message.from_text(text)
assert message
assert message.user == 'NyhaiPuki'
assert message.message == 'Hi, I would like to buy your level 21 23% Vaal Impurity of Lightning ' \
'listed for 18 chaos in Ritual (stash tab "$"; position: left 22, top 5)'
assert message.date == datetime(2021, 3, 8, 23, 24, 52)
assert message.channel == Channel.WHISPER
assert message.guild is None
assert message.to_from == 'From'
assert message.trade
assert message.trade.amount == 18
assert message.trade.col == 22
assert message.trade.row == 5
assert message.trade.currency == 'chaos'
assert message.trade.item == 'level 21 23% Vaal Impurity of Lightning'
assert message.trade.league == 'Ritual'
def test_message_from_float():
conf = config.read_config(r'config.yaml')
data.compile_regex(conf)
text = '2023/01/02 23:57:26 15123437 cffb0734 [INFO Client 16668] @From <SETSU?> LASTTRYPOEenjoyer: Hi, I would like to buy your Watcher\'s Eye, Prismatic Jewel listed for 2.5 divine in Sanctum (stash tab "$2"; position: left 8, top 7)'
message = data.Message.from_text(text)
assert message
assert message.user == 'LASTTRYPOEenjoyer'
assert message.message == 'Hi, I would like to buy your Watcher\'s Eye, Prismatic Jewel listed for 2.5 divine in Sanctum (stash tab "$2"; position: left 8, top 7)'
assert message.date == datetime(2021, 3, 8, 23, 24, 52)
assert message.channel == Channel.WHISPER
assert message.guild is None
assert message.to_from == 'From'
assert message.trade
assert message.trade.amount == 18
assert message.trade.col == 22
assert message.trade.row == 5
assert message.trade.currency == 'chaos'
assert message.trade.item == 'level 21 23% Vaal Impurity of Lightning'
assert message.trade.league == 'Ritual'
def test_message_to():
conf = config.read_config(r'config.yaml')
data.compile_regex(conf)
text_to = '2021/01/24 23:11:23 17039703 bb2 [INFO Client 10144] @To EraseAndDelete: Thank you & good luck!'
message = data.Message.from_text(text_to)
assert message
assert message.user == 'EraseAndDelete'
assert message.message == 'Thank you & good luck!'
assert message.date == datetime(2021, 1, 24, 23, 11, 23)
assert message.channel == Channel.WHISPER
assert message.guild is None
assert message.to_from == 'To'
assert message.trade is None
def test_message_global():
conf = config.read_config(r'config.yaml')
data.compile_regex(conf)
text_global = '2021/02/10 19:01:56 2720500 bb2 [INFO Client 3464] #HarvestScarab: so by the time it was finally juiced you couldnt do it'
message = data.Message.from_text(text_global)
assert message
assert message.user == 'HarvestScarab'
assert message.message == 'so by the time it was finally juiced you couldnt do it'
assert message.date == datetime(2021, 2, 10, 19, 1, 56)
assert message.channel == Channel.GLOBAL
assert message.guild is None
assert message.to_from is None
assert message.trade is None