Пример #1
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
Пример #2
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
Пример #4
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_process_upload_success(app, client, mocker):
    # Creating no-op mocks for S3 / DB
    mocker.patch(
        "server.save_image_to_s3", 
        return_value=True)
    
    mocker.patch(
        "server.save_image_to_db", 
        return_value=True)

    create_logged_in_user(client)
    file = create_file_data()
    res = client.post('/process-upload', data=dict(file=file), follow_redirects=False, content_type="multipart/form-data") 
    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
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
Пример #8
0
def test_logout_success(app, client):
    create_logged_in_user(client)
    res = client.get('/logout')
    assert_flashes(client, "Logout successful")
    assert_redirect(res, "http://localhost/")
def test_upload_success(app, client):
    create_logged_in_user(client)
    res = client.get("/upload")
    assert res.status_code == 200
def test_my_images_success_empty(app, client):
    create_logged_in_user(client)
    res = client.get("/my-images")
    assert res.status_code == 200
Пример #11
0
def test_image_id_doesnt_exist(app, client):
    create_logged_in_user(client)
    res = client.put(f"/image/update/10", data={"action" : 'publish'})
    assert_flashes(client, "Image doesn't exist")
    assert_redirect(res, "http://localhost/")
Пример #12
0
def test_delete_image_id_doesnt_exist(app, client):
    create_logged_in_user(client)
    res = client.post(f"/image/delete/10")
    assert_flashes(client, "Image doesn't exist")
    assert_redirect(res, "http://localhost/")