Skip to content

Commit 5b3648c

Browse files
author
Priyadarshini Piramanayagam
committed
fix: add result creation to test cases
1 parent 1a336e9 commit 5b3648c

File tree

4 files changed

+124
-66
lines changed

4 files changed

+124
-66
lines changed

nisystemlink/clients/testmonitor/_test_monitor_client.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def get_results(
9292
or provided an invalid argument.
9393
"""
9494
...
95-
95+
9696
@get("results/{id}")
9797
def get_result(self, id: str) -> models.Result:
9898
"""Retrieves a single result by id.
@@ -126,6 +126,7 @@ def query_results(self, query: models.QueryResultsRequest) -> models.PagedResult
126126
"""
127127
...
128128

129+
@returns.json # type: ignore
129130
@post("query-result-values")
130131
def query_result_values(self, query: models.QueryResultValuesRequest) -> List[str]:
131132
"""Queries for results that match the query and returns a list of the requested field.

nisystemlink/clients/testmonitor/models/_result.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class Result(JsonModel):
4242
keywords: Optional[List[str]]
4343
"""A list of keywords that categorize this result."""
4444

45-
properties: Optional[Dict[str, str]]
45+
properties: Optional[Dict[str, Optional[str]]]
4646
"""A list of custom properties for this result."""
4747

4848
operator: Optional[str]

nisystemlink/clients/testmonitor/models/_step.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class StepDataObject(JsonModel):
4141
text: Optional[str] = None
4242
"""Text string describing the output data."""
4343

44-
parameters: Optional[List[dict[str, str | None]]] = None
44+
parameters: Optional[List[dict[str, Optional[str]]]] = None
4545
"""Array of properties objects."""
4646

4747

tests/integration/testmonitor/test_testmonitor.py

Lines changed: 120 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -93,39 +93,6 @@ def _create_steps(
9393
)
9494

9595

96-
# @pytest.fixture
97-
# def create_result_for_step(client: TestMonitorClient):
98-
# """Fixture to return a factory that creates results."""
99-
# responses: List[CreateResultsPartialSuccess] = []
100-
101-
# def _create_result() -> CreateResultsPartialSuccess:
102-
# part_number = uuid.uuid1().hex
103-
# program_name = "Test Program"
104-
# status = Status.PASSED()
105-
# host_name = "Test Host"
106-
# system_id = "Test System"
107-
# serial_number = "Test Serial Number"
108-
# result = CreateResultRequest(
109-
# part_number=part_number,
110-
# program_name=program_name,
111-
# status=status,
112-
# host_name=host_name,
113-
# system_id=system_id,
114-
# serial_number=serial_number,
115-
# )
116-
# response = client.create_results([result])
117-
# responses.append(response)
118-
# return response
119-
120-
# yield _create_result
121-
122-
# created_results: List[Result] = []
123-
# for response in responses:
124-
# if response.results:
125-
# created_results = created_results + response.results
126-
# client.delete_results(ids=[str(result.id) for result in created_results])
127-
128-
12996
@pytest.mark.integration
13097
@pytest.mark.enterprise
13198
class TestTestMonitor:
@@ -471,19 +438,23 @@ def __map_result_to_update_result_request(
471438
return UpdateResultRequest(**result_dict)
472439

473440
def test__create_single_step__creation_succeed(
474-
self, client: TestMonitorClient, create_steps, unique_identifier
441+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
475442
):
443+
results = [
444+
CreateResultRequest(
445+
part_number=unique_identifier,
446+
program_name="Test Program",
447+
status=Status.PASSED(),
448+
)
449+
]
450+
created_result = create_results(results)
476451
step_id = unique_identifier
477-
result_id = "ea6f8d2c-8d57-441e-8375-aa897f59835e"
452+
result_id = created_result.results[0].id
478453
name = "Test Step 1"
479454
data = StepDataObject(
480455
text="This is a test step", parameters=[{"name": "param1", "value": "10"}]
481456
)
482457
properties = {"property1": "value1", "property2": "value2"}
483-
# createResultResponse: CreateResultsPartialSuccess = create_result()
484-
# assert createResultResponse is not None
485-
# assert len(createResultResponse.results) == 1
486-
# result_id = createResultResponse.results[0].id
487458
step = CreateStepRequest(
488459
step_id=step_id,
489460
result_id=result_id,
@@ -506,17 +477,26 @@ def test__create_single_step__creation_succeed(
506477
assert not created_step.outputs
507478

508479
def test__create_multiple_steps__multiple_creation_succeed(
509-
self, client: TestMonitorClient, create_steps
480+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
510481
):
482+
results = [
483+
CreateResultRequest(
484+
part_number=unique_identifier,
485+
program_name="Test Program",
486+
status=Status.PASSED(),
487+
)
488+
]
489+
created_result = create_results(results)
490+
result_id = created_result.results[0].id
511491
steps = [
512492
CreateStepRequest(
513493
step_id=uuid.uuid1().hex,
514-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
494+
result_id=result_id,
515495
name="Step 1",
516496
),
517497
CreateStepRequest(
518498
step_id=uuid.uuid1().hex,
519-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
499+
result_id=result_id,
520500
name="Step 2",
521501
),
522502
]
@@ -527,12 +507,21 @@ def test__create_multiple_steps__multiple_creation_succeed(
527507
assert len(response.steps) == 2
528508

529509
def test__get_steps__at_least_one_step_exists(
530-
self, client: TestMonitorClient, create_steps, unique_identifier
510+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
531511
):
512+
results = [
513+
CreateResultRequest(
514+
part_number=unique_identifier,
515+
program_name="Test Program",
516+
status=Status.PASSED(),
517+
)
518+
]
519+
created_result = create_results(results)
520+
result_id = created_result.results[0].id
532521
steps = [
533522
CreateStepRequest(
534523
step_id=unique_identifier,
535-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
524+
result_id=result_id,
536525
name="Step 1",
537526
)
538527
]
@@ -544,17 +533,26 @@ def test__get_steps__at_least_one_step_exists(
544533
assert len(get_response.steps) >= 1
545534

546535
def test_with_multiple_steps__get_steps_with_take__only_take_returned(
547-
self, client: TestMonitorClient, create_steps, unique_identifier
536+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
548537
):
538+
results = [
539+
CreateResultRequest(
540+
part_number=unique_identifier,
541+
program_name="Test Program",
542+
status=Status.PASSED(),
543+
)
544+
]
545+
created_result = create_results(results)
546+
result_id = created_result.results[0].id
549547
steps = [
550548
CreateStepRequest(
551549
step_id=unique_identifier,
552-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
550+
result_id=result_id,
553551
name="Step 1",
554552
),
555553
CreateStepRequest(
556554
step_id=unique_identifier,
557-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
555+
result_id=result_id,
558556
name="Step 2",
559557
),
560558
]
@@ -566,17 +564,26 @@ def test_with_multiple_steps__get_steps_with_take__only_take_returned(
566564
assert len(get_response.steps) == 1
567565

568566
def test__get_steps_with_return_count__steps_and_count_returned(
569-
self, client: TestMonitorClient, create_steps, unique_identifier
567+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
570568
):
569+
results = [
570+
CreateResultRequest(
571+
part_number=unique_identifier,
572+
program_name="Test Program",
573+
status=Status.PASSED(),
574+
)
575+
]
576+
created_result = create_results(results)
577+
result_id = created_result.results[0].id
571578
steps = [
572579
CreateStepRequest(
573580
step_id=unique_identifier,
574-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
581+
result_id=result_id,
575582
name="Step 1",
576583
),
577584
CreateStepRequest(
578585
step_id=unique_identifier,
579-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
586+
result_id=result_id,
580587
name="Step 2",
581588
),
582589
]
@@ -588,10 +595,18 @@ def test__get_steps_with_return_count__steps_and_count_returned(
588595
assert get_response.total_count is not None and get_response.total_count >= 2
589596

590597
def test__get_step_by_id__expected_step_returned(
591-
self, client: TestMonitorClient, create_steps, unique_identifier
598+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
592599
):
600+
results = [
601+
CreateResultRequest(
602+
part_number=unique_identifier,
603+
program_name="Test Program",
604+
status=Status.PASSED(),
605+
)
606+
]
607+
created_result = create_results(results)
608+
result_id = created_result.results[0].id
593609
step_id = unique_identifier
594-
result_id = "ea6f8d2c-8d57-441e-8375-aa897f59835e"
595610
steps = [CreateStepRequest(step_id=step_id, result_id=result_id, name="Step 1")]
596611
create_response: CreateStepsPartialSuccess = create_steps(steps)
597612
assert create_response is not None
@@ -603,11 +618,19 @@ def test__get_step_by_id__expected_step_returned(
603618
assert step.result_id == result_id
604619

605620
def test__query_step_by_name_and_result_id__expected_step_returned(
606-
self, client: TestMonitorClient, create_steps, unique_identifier
621+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
607622
):
623+
results = [
624+
CreateResultRequest(
625+
part_number=unique_identifier,
626+
program_name="Test Program",
627+
status=Status.PASSED(),
628+
)
629+
]
630+
created_result = create_results(results)
631+
result_id = created_result.results[0].id
608632
step_id = unique_identifier
609633
step_name = "Step 1"
610-
result_id = "ea6f8d2c-8d57-441e-8375-aa897f59835e"
611634
steps = [
612635
CreateStepRequest(step_id=step_id, result_id=result_id, name=step_name)
613636
]
@@ -629,11 +652,19 @@ def test__query_step_by_name_and_result_id__expected_step_returned(
629652
assert query_response.steps[0].result_id == result_id
630653

631654
def test__query_step_values_for_name__name_matches(
632-
self, client: TestMonitorClient, create_steps, unique_identifier
655+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
633656
):
657+
results = [
658+
CreateResultRequest(
659+
part_number=unique_identifier,
660+
program_name="Test Program",
661+
status=Status.PASSED(),
662+
)
663+
]
664+
created_result = create_results(results)
665+
result_id = created_result.results[0].id
634666
step_id = unique_identifier
635667
step_name = "query values test"
636-
result_id = "ea6f8d2c-8d57-441e-8375-aa897f59835e"
637668
create_response: CreateStepsPartialSuccess = create_steps(
638669
[CreateStepRequest(step_id=step_id, result_id=result_id, name=step_name)]
639670
)
@@ -651,14 +682,23 @@ def test__query_step_values_for_name__name_matches(
651682
assert query_response[0] == str(step_name)
652683

653684
def test__update_step_name__name_updated(
654-
self, client: TestMonitorClient, create_steps, unique_identifier
685+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
655686
):
687+
results = [
688+
CreateResultRequest(
689+
part_number=unique_identifier,
690+
program_name="Test Program",
691+
status=Status.PASSED(),
692+
)
693+
]
694+
created_result = create_results(results)
695+
result_id = created_result.results[0].id
656696
step_id = unique_identifier
657697
create_response: CreateStepsPartialSuccess = create_steps(
658698
[
659699
CreateStepRequest(
660700
step_id=step_id,
661-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
701+
result_id=result_id,
662702
name="Original Name",
663703
)
664704
]
@@ -683,13 +723,22 @@ def test__update_step_name__name_updated(
683723
assert update_response.steps[0].name == new_name
684724

685725
def test__delete_existing_step__deleted(
686-
self, client: TestMonitorClient, create_steps, unique_identifier
726+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
687727
):
728+
results = [
729+
CreateResultRequest(
730+
part_number=unique_identifier,
731+
program_name="Test Program",
732+
status=Status.PASSED(),
733+
)
734+
]
735+
created_result = create_results(results)
736+
result_id = created_result.results[0].id
688737
step_id = unique_identifier
689738
steps = [
690739
CreateStepRequest(
691740
step_id=step_id,
692-
result_id="ea6f8d2c-8d57-441e-8375-aa897f59835e",
741+
result_id=result_id,
693742
name="Step 1",
694743
)
695744
]
@@ -714,9 +763,17 @@ def test__delete_non_existent_step__delete_fails(self, client: TestMonitorClient
714763
)
715764

716765
def test__delete_multiple_steps__deletion_succeed(
717-
self, client: TestMonitorClient, create_steps
766+
self, client: TestMonitorClient, create_results, create_steps, unique_identifier
718767
):
719-
result_id = "ea6f8d2c-8d57-441e-8375-aa897f59835e"
768+
results = [
769+
CreateResultRequest(
770+
part_number=unique_identifier,
771+
program_name="Test Program",
772+
status=Status.PASSED(),
773+
)
774+
]
775+
created_result = create_results(results)
776+
result_id = created_result.results[0].id
720777
steps = [
721778
CreateStepRequest(
722779
step_id=uuid.uuid1().hex, result_id=result_id, name="Step 1"
@@ -731,7 +788,7 @@ def test__delete_multiple_steps__deletion_succeed(
731788
created_steps = create_response.steps
732789

733790
delete_response = client.delete_steps(
734-
[
791+
steps=[
735792
StepIdResultIdPair(step_id=step.step_id, result_id=step.result_id)
736793
for step in created_steps
737794
]

0 commit comments

Comments
 (0)