Skip to content

Commit 052b207

Browse files
committed
updated get_submission_status_enum() to use schemaview, removed test I was using to see what enum looked like in test_submission.py
1 parent 382ee4d commit 052b207

File tree

2 files changed

+12
-21
lines changed

2 files changed

+12
-21
lines changed

nmdc_server/models.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import enum
22
from datetime import datetime
3+
from importlib import resources
34
from typing import Any, Dict, Iterator, List, Optional, Type, Union
45
from uuid import uuid4
56

7+
from linkml_runtime.utils.schemaview import SchemaView
68
from nmdc_schema.nmdc_data import get_nmdc_schema_definition
79
from sqlalchemy import (
810
BigInteger,
@@ -37,8 +39,15 @@
3739

3840
def get_submission_status_enum():
3941
"""Get SubmissionStatusEnum from the NMDC schema definition."""
40-
schema = get_nmdc_schema_definition()
41-
return schema.enums["SubmissionStatusEnum"].permissible_values
42+
permissible_values = {}
43+
submission_schema_files = resources.files("nmdc_schema")
44+
schema_path = submission_schema_files / "nmdc_materialized_patterns.yaml"
45+
sv = SchemaView(str(schema_path))
46+
for enum_name, enum_definition in sv.all_enums().items():
47+
if enum_name == "SubmissionStatusEnum":
48+
permissible_values = enum_definition.permissible_values
49+
break
50+
return permissible_values
4251

4352

4453
SubmissionStatusEnum = get_submission_status_enum()

tests/test_submission.py

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,10 @@
88
from starlette.testclient import TestClient
99

1010
from nmdc_server import fakes
11-
from nmdc_server.models import SubmissionEditorRole, SubmissionRole
11+
from nmdc_server.models import SubmissionEditorRole, SubmissionRole, get_submission_status_enum
1212
from nmdc_server.schemas_submission import SubmissionMetadataSchema, SubmissionMetadataSchemaPatch
1313

1414

15-
def get_submission_status_enum():
16-
"""Get SubmissionStatusEnum from the NMDC schema definition."""
17-
schema = get_nmdc_schema_definition()
18-
return schema.enums["SubmissionStatusEnum"].permissible_values
19-
20-
2115
SubmissionStatusEnum = get_submission_status_enum()
2216

2317

@@ -55,18 +49,6 @@ def test_get_metadata_submissions_mixs_as_non_admin(
5549
assert response.status_code == 403
5650

5751

58-
def test_print_submission_enum(db: Session, client: TestClient, logged_in_user):
59-
submission = fakes.MetadataSubmissionFactory(
60-
author=logged_in_user, author_orcid=logged_in_user.orcid
61-
)
62-
print("Available submission status enum values:")
63-
print(SubmissionStatusEnum)
64-
print("\nSpecific enum value string")
65-
print(SubmissionStatusEnum["InProgress"].title)
66-
67-
assert submission
68-
69-
7052
def test_get_metadata_submissions_mixs_as_admin(
7153
db: Session, client: TestClient, logged_in_admin_user
7254
):

0 commit comments

Comments
 (0)