This is probably duplicated, but I always wonder if there is a "simple" way to reduce tests with multiple settings where some of them are exactly the same but for a specific parameter combination. So far I haven't found a simple approach.
How would you combine the following test cases with pytest?

```py
@pytest.mark.parametrize("credentials", ["A", "B"])
@pytest.mark.parametrize("path", ["/path_1"])
def test_is_authorized_1(client, path, headers):
    response = client.get(path, headers=headers)
    assert response.status_code == 200

@pytest.mark.parametrize("credentials", ["A"])
@pytest.mark.parametrize("path", ["/path_2"])
def test_is_authorized_2(client, path, headers):
    response = client.get(path, headers=headers)
    assert response.status_code == 200

@pytest.mark.parametrize("credentials", [None])
@pytest.mark.parametrize("path", ["/path_1"])
def test_not_authorized_1(client, path, headers):
    response = client.get(path, headers=headers)
    assert response.status_code == 401

@pytest.mark.parametrize("credentials", ["B", None])
@pytest.mark.parametrize("path", ["/path_2"])
def test_not_authorized_2(client, path, headers):
    response = client.get(path, headers=headers)
    assert response.status_code == 401

```

I feel like I am repeating myself.
Is there a way to reduce the repeated code merging each test case?