Exemple #1
0
def test_put_same_key_for_same_tab_id(client, chart_id: int, dataset_id: int):
    login(client, "admin")
    payload = {
        "dataset_id": dataset_id,
        "chart_id": chart_id,
        "form_data": UPDATED_FORM_DATA,
    }
    resp = client.put(f"api/v1/explore/form_data/{KEY}?tab_id=1", json=payload)
    data = json.loads(resp.data.decode("utf-8"))
    first_key = data.get("key")
    resp = client.put(f"api/v1/explore/form_data/{KEY}?tab_id=1", json=payload)
    data = json.loads(resp.data.decode("utf-8"))
    second_key = data.get("key")
    assert first_key == second_key
Exemple #2
0
def test_put_different_key_for_no_tab_id(client, dashboard_id: int):
    login(client, "admin")
    payload = {
        "value": INITIAL_VALUE,
    }
    resp = client.put(
        f"api/v1/dashboard/{dashboard_id}/filter_state/{KEY}", json=payload
    )
    data = json.loads(resp.data.decode("utf-8"))
    first_key = data.get("key")
    resp = client.put(
        f"api/v1/dashboard/{dashboard_id}/filter_state/{KEY}", json=payload
    )
    data = json.loads(resp.data.decode("utf-8"))
    second_key = data.get("key")
    assert first_key != second_key
Exemple #3
0
def test_put_different_key_for_no_tab_id(client, chart_id: int,
                                         datasource: SqlaTable):
    login(client, "admin")
    payload = {
        "datasource_id": datasource.id,
        "datasource_type": datasource.type,
        "chart_id": chart_id,
        "form_data": UPDATED_FORM_DATA,
    }
    resp = client.put(f"api/v1/explore/form_data/{KEY}", json=payload)
    data = json.loads(resp.data.decode("utf-8"))
    first_key = data.get("key")
    resp = client.put(f"api/v1/explore/form_data/{KEY}", json=payload)
    data = json.loads(resp.data.decode("utf-8"))
    second_key = data.get("key")
    assert first_key != second_key
Exemple #4
0
def test_put_not_owner(client, chart_id: int, dataset_id: int):
    login(client, "gamma")
    payload = {
        "dataset_id": dataset_id,
        "chart_id": chart_id,
        "form_data": UPDATED_FORM_DATA,
    }
    resp = client.put(f"api/v1/explore/form_data/{KEY}", json=payload)
    assert resp.status_code == 404
Exemple #5
0
def test_put_bad_request_non_string(client, chart_id: int, dataset_id: int):
    login(client, "admin")
    payload = {
        "dataset_id": dataset_id,
        "chart_id": chart_id,
        "form_data": 1234,
    }
    resp = client.put(f"api/v1/explore/form_data/{KEY}", json=payload)
    assert resp.status_code == 400
Exemple #6
0
def test_put_not_owner(client, dashboard_id: int):
    login(client, "gamma")
    payload = {
        "value": UPDATED_VALUE,
    }
    resp = client.put(
        f"api/v1/dashboard/{dashboard_id}/filter_state/{KEY}", json=payload
    )
    assert resp.status_code == 403
Exemple #7
0
def test_put_bad_request_non_json_string(client, dashboard_id: int):
    login(client, "admin")
    payload = {
        "value": "foo",
    }
    resp = client.put(
        f"api/v1/dashboard/{dashboard_id}/filter_state/{KEY}", json=payload
    )
    assert resp.status_code == 400
Exemple #8
0
def test_put_access_denied(mock_raise_for_dashboard_access, client, dashboard_id: int):
    login(client, "admin")
    mock_raise_for_dashboard_access.side_effect = DashboardAccessDeniedError()
    payload = {
        "value": UPDATED_VALUE,
    }
    resp = client.put(
        f"api/v1/dashboard/{dashboard_id}/filter_state/{KEY}", json=payload
    )
    assert resp.status_code == 403
Exemple #9
0
def test_put_access_denied(client, chart_id: int, datasource: SqlaTable):
    login(client, "gamma")
    payload = {
        "datasource_id": datasource.id,
        "datasource_type": datasource.type,
        "chart_id": chart_id,
        "form_data": UPDATED_FORM_DATA,
    }
    resp = client.put(f"api/v1/explore/form_data/{KEY}", json=payload)
    assert resp.status_code == 404
Exemple #10
0
def test_put_bad_request(client, chart_id: int, datasource: SqlaTable):
    login(client, "admin")
    payload = {
        "datasource_id": datasource.id,
        "datasource_type": datasource.type,
        "chart_id": chart_id,
        "form_data": 1234,
    }
    resp = client.put(f"api/v1/explore/form_data/{KEY}", json=payload)
    assert resp.status_code == 400