示例#1
0
def test_list_messages_pair(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    assert len(Message.inspect_pair_history_messages(user_hash_1, user_hash_2, database)) == 0
    assert len(Message.inspect_pair_history_messages(user_hash_2, user_hash_1, database)) == 0
    Message.create_message(user_hash_1, user_hash_2, "HELLO", database)
    assert len(Message.inspect_pair_history_messages(user_hash_1, user_hash_2, database)) == len(Message.inspect_pair_history_messages(user_hash_2, user_hash_1, database))
示例#2
0
def test_admin_inspect_messages(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)

    client = BankingClientFactory(database).create_client(mock_message)

    results = client.admin_inspect_messages(
        f"/admin_messages_history_sent {character_hash_2}", True)
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_2}", False)
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_3}", False)
    assert results == NO_MESSAGES_FOUND

    Message.create_message(character_hash_2, character_hash_3, "100", database)
    Message.create_message(character_hash_2, "0000000000", "100", database)

    results = client.admin_inspect_messages(
        f"/admin_messages_history_sent {character_hash_2}", True)
    assert results != NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_2}", False)
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_messages(
        f"/admin_messages_history_recieved {character_hash_3}", False)
    assert results != NO_MESSAGES_FOUND
示例#3
0
 def prepare_message(self, message):
     self.user_validation()
     target_user_hash = re.search(r" [a-zA-Z0-9]{10} ",
                                  message).group(0).strip(' ')
     message = re.search(r" [a-zA-Z0-9]{10} [\w\W]+$",
                         message).group(0)[12:]
     target_user = self.get_user_by_user_hash(target_user_hash)
     if target_user_hash == self.user.character_hash:
         raise MessageError(NO_SELF_MESSAGING)
     Message.create_message(self.user.character_hash, target_user_hash,
                            message, self.database)
     return target_user.chat_id, message
示例#4
0
def test_admin_inspect_pair_messages(database, mock_message):
    User.create_admin(2, 2, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)
    character_hash_4 = User.create_user(5, 5, "Test user 4", database)

    client = BankingClientFactory(database).create_client(mock_message)

    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND
    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND

    Message.create_message(character_hash_2, character_hash_4, "100", database)
    Message.create_message(character_hash_2, character_hash_3, "100", database)
    Message.create_message(character_hash_2, "0000000000", "100", database)
    Message.create_message(character_hash_3, character_hash_4, "100", database)

    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
    results = client.admin_inspect_pair_history_messages(
        f"/admin_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
示例#5
0
 def inspect_all_messages(self, user_hash=None):
     self.user_validation()
     if user_hash is None:
         user_hash = self.user.character_hash
     messages = Message.inspect_all_messages(user_hash, self.database)
     resulting_data = ""
     for message in messages:
         resulting_data += str(message) + '\n'
     if not messages:
         resulting_data = NO_MESSAGES_FOUND
     return resulting_data
示例#6
0
def test_list_messages_sender(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    assert len(Message.inspect_messages(user_hash_1, True, database)) == 0
    assert len(Message.inspect_messages(user_hash_2, True, database)) == 0
    Message.create_message(user_hash_1, user_hash_2, "HELLO", database)
    assert len(Message.inspect_messages(user_hash_1, True, database)) == 1
    assert len(Message.inspect_messages(user_hash_2, True, database)) == 0
示例#7
0
 def inspect_pair_history_messages(self,
                                   message,
                                   sender_hash=None,
                                   reciever_hash=None):
     self.user_validation()
     if sender_hash is None:
         sender_hash = self.user.character_hash
     if reciever_hash is None:
         reciever_hash = re.search(r" [a-zA-Z0-9]{10}",
                                   message).group(0).strip(' ')
     messages = Message.inspect_pair_history_messages(
         sender_hash, reciever_hash, self.database)
     resulting_data = ""
     for message in messages:
         resulting_data += str(message) + '\n\n'
     if not messages:
         resulting_data = NO_MESSAGES_FOUND
     return resulting_data
示例#8
0
def test_hack_inspect_pair_messages(database, mock_message):
    User.create_admin(1, 1, database)
    character_hash_1 = User.create_user(2, 2, "Test user", database)
    User.update_db_value(character_hash_1, "hacker_level", 1, database)
    character_hash_2 = User.create_user(3, 3, "Test user 2", database)
    character_hash_3 = User.create_user(4, 4, "Test user 3", database)
    character_hash_4 = User.create_user(5, 5, "Test user 4", database)
    User.update_db_value(character_hash_3, "hacker_defence", 1, database)
    User.update_db_value(character_hash_4, "hacker_defence", 2, database)

    client = BankingClientFactory(database).create_client(mock_message)

    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND
    assert not show_hack
    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results == NO_MESSAGES_FOUND
    assert show_hack
    with pytest.raises(HackerError):
        client.hack_inspect_pair_history_messages(
            f"/hack_messages_history_pair {character_hash_4} 0000000000")

    Message.create_message(character_hash_2, character_hash_4, "100", database)
    Message.create_message(character_hash_2, character_hash_3, "100", database)
    Message.create_message(character_hash_2, "0000000000", "100", database)
    Message.create_message(character_hash_3, character_hash_4, "100", database)

    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_2} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
    assert not show_hack
    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_2} 0000000000")
    assert results != NO_MESSAGES_FOUND
    assert not show_hack
    results, chat_id, hash_1, chat_2_id, hash_2, show_hack = client.hack_inspect_pair_history_messages(
        f"/hack_messages_history_pair {character_hash_4} {character_hash_3}")
    assert results != NO_MESSAGES_FOUND
    assert show_hack
示例#9
0
 def prepare_hacker_message(self, message):
     target_user_hash = re.search(r" [a-zA-Z0-9]{10} ",
                                  message).group(0).strip(' ')
     message = re.search(r" [a-zA-Z0-9]{10} [\w\W]+$",
                         message).group(0)[12:]
     self.user_validation()
     target_user = self.get_user_by_user_hash(target_user_hash)
     if target_user_hash == self.user.character_hash:
         raise MessageError(NO_SELF_MESSAGING)
     self.hacker_validation(0)
     show_hack = self.user.hacker_level <= target_user.hacker_defence + HACKER_MESSAGE_DIFFICULY
     if show_hack:
         Message.create_message(self.user.character_hash, target_user_hash,
                                message, self.database)
     else:
         Message.create_message(self.user.character_hash, HACKER_FAKE_HASH,
                                message, self.database)
         Message.create_message(HACKER_FAKE_HASH, target_user_hash, message,
                                self.database)
     return target_user.chat_id, message, show_hack
示例#10
0
def test_create_messages(database):
    user_hash_1 = User.create_user(2, 2, "Test user 1", database)
    user_hash_2 = User.create_user(3, 3, "Test user 2", database)
    Message.create_message(user_hash_1, user_hash_2, "HELLO", database)