def test_not_logged_in_user(app, client):
    user1 = create_user("*****@*****.**", "password1")
    user2 = create_user("*****@*****.**", "password2")
    res = client.get("/users")
    assert b'<a href="/user/1">[email protected]</a>' in res.data
    assert b'<a href="/user/2">[email protected]</a>' in res.data
    assert res.status_code == 200
def test_logged_in_user_not_in_list(app, client):
    user = create_user()
    logged_in_user = create_logged_in_user(client, user.user_id)
    user2 = create_user("*****@*****.**", "password2")
    user3 = create_user("*****@*****.**", "password3")
    res = client.get("/users")
    assert b'<a href="/user/1">[email protected]</a>' not in res.data
    assert b'<a href="/user/2">[email protected]</a>' in res.data
    assert b'<a href="/user/3">[email protected]</a>' in res.data
Exemple #3
0
def test_unpublish_success(app, client):
    user = create_user()
    image = create_image('image1', "s3://path-to-image-1", user.user_id)
    create_logged_in_user(client, user.user_id)
    res = client.put(f"/image/update/{image.image_id}", data={ "action" : 'unpublish'})
    assert res.status_code == 200
    assert b'{"status":"unpublished"}' in res.data
Exemple #4
0
def test_not_public_image(app, client):
    user = create_user()
    image1 = create_image('image1', "s3://path-to-image-1", user.user_id)
    image2 = create_image('image2', "s3://path-to-image-2", user.user_id, True)
    res = res = client.get(f"user/{user.user_id}")
    print(res.data)
    assert b'<img src="s3://path-to-image-1" width="200" height="150">' not in res.data
    assert b'<img src="s3://path-to-image-2" width="200" height="150">' in res.data
Exemple #5
0
def test_delete_user_doesnt_match(app, client):
    user = create_user()
    image = create_image('image1', "s3://path-to-image-1", user.user_id)
    create_logged_in_user(client, 1234)
    res = client.post(f"/image/delete/{image.image_id}")

    assert_flashes(client, "Cannot modify other people's images")
    assert_redirect(res, "http://localhost/")
def test_how_many_images_empty(app, client):
    user = create_user()
    create_logged_in_user(client, 12345)
    image1 = create_image('image1', 's3://image-path-1', user.user_id)
    image2 = create_image('image2', 's3://image-path-2', user.user_id)
    res = client.get("/my-images")
    assert res.status_code == 200
    assert b'image1' not in res.data
    assert b's3://image-path-1' not in res.data
Exemple #7
0
def test_delete_image_success(app, client, mocker):
    # Creating no-op mocks for S3 / DB
    mocker.patch("server.delete_from_s3", return_value=True)
    mocker.patch("server.delete_from_db", return_value=True)

    user = create_user()
    image = create_image('image1', "s3://path-to-image-1", user.user_id)
    create_logged_in_user(client, user.user_id)
    res = client.post(f"/image/delete/{image.image_id}")
    assert_redirect(res, "http://localhost/my-images")
def test_my_images_success_all(app, client):
    # Have a user
    user = create_user()
    # User is logged in user
    print(user.user_id)
    create_logged_in_user(client, user.user_id)
    # User has images
    image1 = create_image('image1', 's3://image-path-1', user.user_id)
    image2 = create_image('image2', 's3://image-path-2', user.user_id)
    res = client.get("/my-images")
    assert res.status_code == 200
    assert b'image1' in res.data
    assert b's3://image-path-1' in res.data
    assert b'image2' in res.data
    assert b's3://image-path-2' in res.data
Exemple #9
0
def test_user_has_no_images(app, client):
    user = create_user()
    res = client.get(f"user/{user.user_id}")
    if not user.images:
        assert_flashes(client, "User doesn't have any images")
        assert_redirect(res, "http://localhost/")
Exemple #10
0
def test_profile_success(app, client):
    user = create_user()
    image1 = create_image('image1', "s3://path-to-image-1", user.user_id, True)
    image2 = create_image('image2', "s3://path-to-image-2", user.user_id, True)
    res = res = client.get(f"user/{user.user_id}")
    assert res.status_code == 200