Parametrize test_normal_work.

I like to run small test locally, but let's avoid duplication.
This commit is contained in:
Arseny Sher
2022-06-03 17:33:42 +04:00
parent 2623193876
commit 5a723d44cd
2 changed files with 5 additions and 22 deletions

View File

@@ -1,5 +1,6 @@
from fixtures.log_helper import log
from fixtures.neon_fixtures import NeonEnv, NeonEnvBuilder, NeonPageserverHttpClient
import pytest
def check_tenant(env: NeonEnv, pageserver_http: NeonPageserverHttpClient):
@@ -26,7 +27,8 @@ def check_tenant(env: NeonEnv, pageserver_http: NeonPageserverHttpClient):
pageserver_http.timeline_detach(tenant_id, timeline_id)
def test_normal_work(neon_env_builder: NeonEnvBuilder):
@pytest.mark.parametrize('num_timelines,num_safekeepers', [(3, 1)])
def test_normal_work(neon_env_builder: NeonEnvBuilder, num_timelines: int, num_safekeepers: int):
"""
Basic test:
* create new tenant with a timeline
@@ -41,7 +43,8 @@ def test_normal_work(neon_env_builder: NeonEnvBuilder):
"""
env = neon_env_builder.init_start()
neon_env_builder.num_safekeepers = num_safekeepers
pageserver_http = env.pageserver.http_client()
for _ in range(3):
for _ in range(num_timelines):
check_tenant(env, pageserver_http)

View File

@@ -18,26 +18,6 @@ from fixtures.log_helper import log
from typing import List, Optional, Any
# basic test, write something in setup with 3 wal acceptors, ensure that commits
# succeed and data is written
@pytest.mark.skip(reason="simple test for development")
def test_safekeeper_normal_work(neon_env_builder: NeonEnvBuilder):
neon_env_builder.num_safekeepers = 3
env = neon_env_builder.init_start()
env.neon_cli.create_branch('test_safekeepers_normal_work')
pg = env.postgres.create_start('test_safekeepers_normal_work')
with closing(pg.connect()) as conn:
with conn.cursor() as cur:
# we rely upon autocommit after each statement
# as waiting for acceptors happens there
cur.execute('CREATE TABLE t(key int primary key, value text)')
cur.execute("INSERT INTO t SELECT generate_series(1,100000), 'payload'")
cur.execute('SELECT sum(key) FROM t')
assert cur.fetchone() == (5000050000, )
@dataclass
class TimelineMetrics:
timeline_id: str