コード例 #1
0
def test_leave_channel_success():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"leave_channel": "Client Team"}, indent=4))

    expected_response = json.dumps(
        {
            "leave_channel": {
                "channel": "Client Team",
                "user": "******",
                "message": "username has left the channel."
            }
        },
        indent=4)

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_channel("Client Team", None)
    mydb.add_channels_to_user_info("username", ["Client Team"])

    result = server.leave_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #2
0
def test_new_message_user_cant_send_message_to_channel_theyre_not_in():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps(
            {
                "new_message": {
                    "channel_receiving_message": "Client Team",
                    "user": "******",
                    "timestamp": "2017-03-14 14:11:30",
                    "message": "the actual message that the user posted"
                }
            },
            indent=4))

    expected_response = json.dumps(
        {
            "error":
            "The user is trying to send a message to a channel they haven't joined yet."
        },
        indent=4)

    mydb.create_account('username', 'password')
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_channel('Client Team', None)

    result = server.new_message(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #3
0
def test_delete_account_success():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps(
            {
                "delete_account": {
                    "username": "******",
                    "password": "******"
                }
            },
            indent=4))

    expected_response = json.dumps(
        {
            "account_deleted": {
                "username": "******",
                "channels_being_deleted": ["TestChannel"]
            }
        },
        indent=4)

    mydb.create_account("username", "password")
    mydb.create_channel("TestChannel", "username")
    result = server.delete_account(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #4
0
def test_new_message_invalid_json():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps(
            {
                "new_message": {
                    "channel_receiving_": "Client Team",
                    "user": "******",
                    "timestamp": "2017-03-14 14:11:30",
                    "message": "the actual message that the user posted"
                }
            },
            indent=4))

    expected_response = json.dumps(
        {"error": "The JSON file sent didn't contain valid information."},
        indent=4)

    mydb.create_account('username', 'password')
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_channel('Client Team', None)
    mydb.add_channels_to_user_info('username', ['Client Team'])

    result = server.new_message(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #5
0
def test_delete_channel_channel_not_found():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"delete_channel": "Non-existent channel"}, indent=4))

    expected_response = json.dumps(
        {"error": "The specified channel was not found."}, indent=4)

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_channel("TestChannel", "username")

    result = server.delete_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #6
0
def test_join_channel_user_tries_to_send_json_containing_zero_channels_to_join(
):
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(json.dumps({"join_channel": []}, indent=4))

    expected_response = json.dumps(
        {"error": "No channels were given for the user to join."}, indent=4)

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, "username", "password")
    mydb.create_channel("Client Team", "username")
    mydb.create_channel("Server Team", "username")
    result = server.join_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #7
0
def test_join_channel_that_doesnt_exist():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"join_channel": ["Client Team", "Server Team"]}, indent=4))

    expected_response = json.dumps(
        {"error": "The user is trying to join a channel that doesn't exist."},
        indent=4)

    mydb.create_account('username', 'password')
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_channel("TestChannel", "username")

    result = server.join_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #8
0
def test_join_channel_trying_to_join_channel_that_you_are_already_a_part_of():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"join_channel": ["Client Team", "Server Team"]}, indent=4))

    expected_response = json.dumps({
        "error":
        "The user has already joined one or more of the channels they were trying to join again."
    })

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, "username", "password")
    mydb.create_channel("Client Team", "username")
    mydb.create_channel("Server Team", "username")
    server.join_channel(mydb, client_request)
    result = server.join_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #9
0
def test_login_success():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps(
            {"login": {
                "username": "******",
                "password": "******",
            }},
            indent=4))

    expected_response = json.dumps({"channels": ["ChannelTest"]}, indent=4)

    mydb.create_account("username", "password")
    mydb.create_channel("ChannelTest", "username")

    result = server.login(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #10
0
def test_join_channel_success():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"join_channel": ["Client Team", "Server Team"]}, indent=4))

    expected_response = json.dumps(
        {
            "channels_joined": ["Client Team", "Server Team"],
            "user": "******"
        },
        indent=4)

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, "username", "password")
    mydb.create_channel("Client Team", "username")
    mydb.create_channel("Server Team", "username")
    result = server.join_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #11
0
def test_delete_channel_user_not_authorized_to_delete_channel():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"delete_channel": "TestChannel"}, indent=4))

    expected_response = json.dumps(
        {
            "error":
            "The user trying to delete the channel isn't the admin of the channel."
        },
        indent=4)

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_account("admin user", "password")
    mydb.create_channel("TestChannel", "admin user")

    result = server.delete_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()
コード例 #12
0
def test_delete_channel_success():
    server = Camelot_Server()
    mydb = Camelot_Database()

    client_request = json.loads(
        json.dumps({"delete_channel": "TestChannel"}, indent=4))

    expected_response = json.dumps(
        {
            "channel_deleted": {
                "channel": "TestChannel",
                "message": "The channel `TestChannel` has been deleted."
            }
        },
        indent=4)

    mydb.create_account("username", "password")
    server, mydb = login(server, mydb, 'username', 'password')
    mydb.create_channel("TestChannel", "username")

    result = server.delete_channel(mydb, client_request)

    assert expected_response == result
    mydb.empty_tables()