示例#1
0
    def test_delete_existing(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']
        resp = requests.delete(
            f"{SERVICE_BASE_URL}/v1/spreadsheets/{spreadsheet_id}")

        assert resp.status_code == 200
示例#2
0
    def test_view_empty_spreadsheet(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']
        resp = requests.get(f"{SERVICE_BASE_URL}/v1/spreadsheets"
                            f"/{spreadsheet_id}/view")

        assert resp.status_code == 200
        assert resp.content.decode("utf-8") == ""
示例#3
0
    def test_update_200(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']
        resp = requests.put(
            f"{SERVICE_BASE_URL}/v1/spreadsheets/{spreadsheet_id}",
            json={'name': "new_spreadsheet_name"})

        assert resp.status_code == 200
        assert resp.json()['id'] == spreadsheet_id
示例#4
0
    def test_get_cells_no_cells(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']

        resp = requests.get(f"{SERVICE_BASE_URL}/v1/spreadsheets/"
                            f"{spreadsheet_id}/cells")

        assert resp.status_code == 200
        assert resp.json() == []
示例#5
0
    def test_get_200(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']

        resp = requests.get(
            f"{SERVICE_BASE_URL}/v1/spreadsheets/{spreadsheet_id}")
        resp_data = resp.json()

        assert resp_data['id'] == spreadsheet_id
        assert resp_data['name'] == "new_spreadsheet"
示例#6
0
    def test_get_cell_null(self, new_spreadsheet_fixture):
        """Try to get a cell that has not had a value set yet"""

        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']

        resp = requests.get(f"{SERVICE_BASE_URL}/v1/spreadsheets"
                            f"/{spreadsheet_id}/cells/A1")

        assert resp.status_code == 200
        assert resp.json() == None
示例#7
0
    def test_update_cell_200(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']

        resp = requests.put(
            f"{SERVICE_BASE_URL}/v1/spreadsheets"
            f"/{spreadsheet_id}/cells/A1",
            json={
                'value': 'dummy value update',
                'type': 'literal'
            })
示例#8
0
    def test_get_updated_cell_200(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']

        resp = requests.get(f"{SERVICE_BASE_URL}/v1/spreadsheets"
                            f"/{spreadsheet_id}/cells/A1")
        resp_data = resp.json()

        assert resp.status_code == 200
        assert resp_data['name'] == "A1"
        assert resp_data['data']['value'] == "dummy value update"
        assert resp_data['data']['type'] == "literal"
示例#9
0
    def test_create_cell(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']

        resp = requests.put(
            f"{SERVICE_BASE_URL}/v1/spreadsheets"
            f"/{spreadsheet_id}/cells/A1",
            json={
                'value': 'dummy value',
                'type': 'literal'
            })

        assert resp.status_code == 200
示例#10
0
    def test_get_spreadsheets_with_two_spreadsheets(self,
                                                    new_spreadsheet_fixture):
        # First spreadsheet created still exists since new_spreadsheet_fixture
        # is scoped to the class
        resp = new_spreadsheet_fixture("second_test_spreadsheet")

        resp = requests.get(f"{SERVICE_BASE_URL}/v1/spreadsheets")
        resp_data = resp.json()

        # Check that the set of names we expect is in the set of current
        # spreadsheet names
        assert set(["first_test_spreadsheet", "second_test_spreadsheet"
                    ]).issubset({e['name']
                                 for e in resp_data})
示例#11
0
    def test_view_spreadsheet(self, new_spreadsheet_fixture):
        spreadsheet_id = new_spreadsheet_fixture(
            "new_spreadsheet").json()['id']
        create_cell(spreadsheet_id, "A1", "a1")
        create_cell(spreadsheet_id, "B2", "b2")
        create_cell(spreadsheet_id, "D5", "d5")

        resp = requests.get(f"{SERVICE_BASE_URL}/v1/spreadsheets"
                            f"/{spreadsheet_id}/view")

        assert resp.status_code == 200

        assert (resp.content.decode("utf-8") ==
                "*\tA\tB\tC\tD\n1\ta1\t\t\t\n2\t\tb2\t\t\n3\t\t\t\t\n"
                "4\t\t\t\t\n5\t\t\t\td5")
示例#12
0
def cells_from_A1_to_D4_fixture(new_spreadsheet_fixture):
    new_spreadsheet_resp = new_spreadsheet_fixture("new_spreadsheet")
    spreadsheet_id = new_spreadsheet_resp.json()['id']

    for col in ('A', 'B', 'C', 'D'):
        for row in range(1, 5):
            cell_name = f"{col}{row}"
            resp = create_cell(spreadsheet_id, cell_name,
                               f"dummy value {cell_name}")
            resp.raise_for_status()

    yield new_spreadsheet_resp

    # Remove cells
    for col in ('A', 'B', 'C', 'D'):
        for row in range(1, 5):
            cell_name = f"{col}{row}"
            resp = delete_cell(spreadsheet_id, cell_name)
            resp.raise_for_status()
示例#13
0
    def test_create_first_spreadsheet(self, new_spreadsheet_fixture):
        resp = new_spreadsheet_fixture("first_test_spreadsheet")
        spreadsheet_id = resp.json()['id']

        assert resp.status_code == 201