Skip to content

Commit 8f187b9

Browse files
committed
Refactored other tests to use configure
1 parent 9d65420 commit 8f187b9

File tree

5 files changed

+19
-75
lines changed

5 files changed

+19
-75
lines changed

docker/mongodb-kubernetes-tests/kubetester/automation_config_tester.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ class AutomationConfigTester:
1313
users in MongoDB to be the ones defined in the Automation Config.
1414
"""
1515

16-
def __init__(self, ac: Optional[Dict] = None):
16+
def __init__(self, ac: Optional[Dict] = None, group_name: Optional[str] = None):
1717
if ac is None:
18-
ac = KubernetesTester.get_automation_config()
18+
ac = KubernetesTester.get_automation_config(group_name=group_name)
1919
self.automation_config = ac
2020

2121
def get_replica_set_processes(self, rs_name: str) -> List[Dict]:

docker/mongodb-kubernetes-tests/tests/authentication/mongodb_custom_roles.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
from kubetester import (
22
find_fixture,
3-
random_k8s_name,
43
try_load,
54
wait_until,
65
)
76
from kubetester.mongodb import MongoDB, Phase
87
from kubetester.mongodb_multi import MongoDBMulti
98
from kubetester.mongodb_role import ClusterMongoDBRole, ClusterMongoDBRoleKind
10-
from kubetester.test_identifiers import set_test_identifier
119
from pytest import fixture, mark
1210
from tests.multicluster.conftest import cluster_spec_list
1311

docker/mongodb-kubernetes-tests/tests/multicluster/multi_cluster_scale_up_cluster.py

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
from operator import truediv
2-
from typing import List
1+
from typing import List
32

43
import kubernetes
54
import pytest
65
from kubetester import (
7-
create_or_update_configmap,
8-
random_k8s_name,
9-
read_configmap,
106
try_load,
11-
wait_until,
127
)
138
from kubetester.automation_config_tester import AutomationConfigTester
149
from kubetester.certs_mongodb_multi import create_multi_cluster_mongodb_tls_certs
@@ -24,26 +19,7 @@
2419

2520
RESOURCE_NAME = "multi-replica-set"
2621
BUNDLE_SECRET_NAME = f"prefix-{RESOURCE_NAME}-cert"
27-
28-
29-
@pytest.fixture(scope="module")
30-
def project_name_prefix(namespace: str) -> str:
31-
return random_k8s_name(f"{namespace}-project-")
32-
33-
34-
@pytest.fixture(scope="module")
35-
def new_project_configmap(namespace: str, project_name_prefix: str) -> str:
36-
cm = read_configmap(namespace=namespace, name="my-project")
37-
project_name = f"{project_name_prefix}-new-project"
38-
return create_or_update_configmap(
39-
namespace=namespace,
40-
name=project_name,
41-
data={
42-
"baseUrl": cm["baseUrl"],
43-
"projectName": project_name,
44-
"orgId": cm["orgId"],
45-
},
46-
)
22+
PROJECT_NAME = f"{RESOURCE_NAME}-multi"
4723

4824

4925
@pytest.fixture(scope="module")
@@ -55,6 +31,7 @@ def mongodb_multi_unmarshalled(
5531
custom_mdb_version: str,
5632
) -> MongoDBMulti:
5733
resource = MongoDBMulti.from_yaml(yaml_fixture("mongodb-multi.yaml"), RESOURCE_NAME, namespace)
34+
resource.configure(None, PROJECT_NAME)
5835
resource.set_version(custom_mdb_version)
5936
# ensure certs are created for the members during scale up
6037
resource["spec"]["clusterSpecList"] = cluster_spec_list(member_cluster_names, [3, 1, 2])
@@ -179,15 +156,19 @@ def test_scale_up_first_cluster(
179156
mongodb_multi.assert_reaches_phase(Phase.Running, timeout=600)
180157

181158
def test_change_project(self, mongodb_multi: MongoDBMulti, new_project_configmap: str):
182-
oldRsMembers = mongodb_multi.get_automation_config_tester().get_replica_set_members(mongodb_multi.name)
183-
184-
mongodb_multi["spec"]["opsManager"]["configMapRef"]["name"] = new_project_configmap
159+
new_project_name = f"{mongodb_multi.name}-new-project"
160+
old_rs_members = mongodb_multi.get_automation_config_tester(group_name=PROJECT_NAME).get_replica_set_members(
161+
mongodb_multi.name
162+
)
163+
mongodb_multi.configure(None, new_project_name)
185164
mongodb_multi.update()
186165

187166
mongodb_multi.assert_abandons_phase(phase=Phase.Running, timeout=300)
188167
mongodb_multi.assert_reaches_phase(phase=Phase.Running, timeout=600)
189168

190-
newRsMembers = mongodb_multi.get_automation_config_tester().get_replica_set_members(mongodb_multi.name)
169+
new_rs_members = mongodb_multi.get_automation_config_tester(
170+
group_name=new_project_name
171+
).get_replica_set_members(mongodb_multi.name)
191172

192173
# Assert that the replica set member ids have not changed after changing the project.
193-
assert oldRsMembers == newRsMembers
174+
assert old_rs_members == new_rs_members

docker/mongodb-kubernetes-tests/tests/multicluster_shardedcluster/multi_cluster_sharded_snippets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def get_sharded_resources(namespace: str) -> List[MongoDB]:
4747
# We set the resource name as the file name, but replace _ with - and lowercase,
4848
# to respect kubernetes naming constraints
4949
sc = load_resource(namespace, file_path)
50-
sc["spec"]["opsManager"]["configMapRef"]["name"] = f"{file_to_resource_name(file_name)}-project-map"
50+
sc.configure(None, f"{file_to_resource_name(file_name)}")
5151
resources.append(sc)
5252
return resources
5353

docker/mongodb-kubernetes-tests/tests/replicaset/replica_set_agent_flags.py

Lines changed: 4 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -21,56 +21,21 @@
2121

2222

2323
@fixture(scope="module")
24-
def project_name_prefix(namespace: str) -> str:
25-
return random_k8s_name(f"{namespace}-project")
26-
27-
28-
@fixture(scope="module")
29-
def first_project(namespace: str, project_name_prefix: str) -> str:
30-
cm = read_configmap(namespace=namespace, name="my-project")
31-
project_name = f"{project_name_prefix}-first"
32-
return create_or_update_configmap(
33-
namespace=namespace,
34-
name=project_name,
35-
data={
36-
"baseUrl": cm["baseUrl"],
37-
"projectName": project_name,
38-
"orgId": cm["orgId"],
39-
},
40-
)
41-
42-
43-
@fixture(scope="module")
44-
def second_project(namespace: str, project_name_prefix: str) -> str:
45-
cm = read_configmap(namespace=namespace, name="my-project")
46-
project_name = project_name_prefix
47-
return create_or_update_configmap(
48-
namespace=namespace,
49-
name=project_name,
50-
data={
51-
"baseUrl": cm["baseUrl"],
52-
"projectName": project_name,
53-
"orgId": cm["orgId"],
54-
},
55-
)
56-
57-
58-
@fixture(scope="module")
59-
def replica_set(namespace: str, first_project: str, custom_mdb_version: str) -> MongoDB:
24+
def replica_set(namespace: str, custom_mdb_version: str) -> MongoDB:
6025
resource = MongoDB.from_yaml(find_fixture("replica-set-basic.yaml"), namespace=namespace, name="replica-set")
26+
resource.configure(None, f"{resource.name}-first")
6127
resource.set_version(ensure_ent_version(custom_mdb_version))
6228
resource.set_architecture_annotation()
63-
resource["spec"]["opsManager"]["configMapRef"]["name"] = first_project
6429

6530
resource.update()
6631
return resource
6732

6833

6934
@fixture(scope="module")
70-
def second_replica_set(namespace: str, second_project: str, custom_mdb_version: str) -> MongoDB:
35+
def second_replica_set(namespace: str, custom_mdb_version: str) -> MongoDB:
7136
resource = MongoDB.from_yaml(find_fixture("replica-set-basic.yaml"), namespace=namespace, name="replica-set-2")
37+
resource.configure(None, f"{resource.name}-second")
7238
resource.set_version(ensure_ent_version(custom_mdb_version))
73-
resource["spec"]["opsManager"]["configMapRef"]["name"] = second_project
7439

7540
resource.update()
7641
return resource

0 commit comments

Comments
 (0)