Changeset 6ad031b in flexoentity for tests


Ignore:
Timestamp:
11/18/25 13:34:13 (2 months ago)
Author:
Enrico Schwass <ennoausberlin@…>
Branches:
master
Children:
8840db7
Parents:
4dc09bb
Message:

another round of domain refactoring

Location:
tests
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • tests/conftest.py

    r4dc09bb r6ad031b  
    4646        if not getattr(self, "flexo_id", None):
    4747            self.flexo_id = FlexOID.safe_generate(
    48                 domain=self.default_domain_code,
     48                domain=self.domain_id,
    4949                entity_type=SingleChoiceQuestion.ENTITY_TYPE.value,     # 'I'
    5050                estate=EntityState.DRAFT.value,        # 'D'
     
    8686
    8787@pytest.fixture
    88 def domain():
    89     return Domain.default()
     88def sample_domain():
     89    domain_id = "PY_ARITHM"
     90    flexo_id = FlexOID.safe_generate(domain_id=domain_id,
     91                                     entity_type=EntityType.DOMAIN.value,
     92                                     state=EntityState.DRAFT.value, text=domain_id)
     93    return Domain(flexo_id=flexo_id, fullname="PYTHON_ARITHMETIC",
     94                  description="ALL ABOUT ARITHMETIC IN PYTHON")
    9095
    9196@pytest.fixture
    92 def sample_question():
    93     q = SingleChoiceQuestion(text="What is 2 + 2?",
     97def sample_question(sample_domain):
     98    flexo_id = FlexOID.safe_generate(domain_id=sample_domain.domain_id,
     99                                     entity_type=EntityType.ITEM.value,
     100                                     state=EntityState.DRAFT.value,
     101                                     text="What is 2 + 2")
     102    q = SingleChoiceQuestion(flexo_id=flexo_id, text="What is 2 + 2?",
    94103                             options=[])
    95104    q._update_fingerprint()
  • tests/test_flexoid.py

    r4dc09bb r6ad031b  
    2525    fid = FlexOID("GEN-I251101-ABCDEF123456@001D")
    2626    assert isinstance(fid, str)
    27     assert fid.domain == "GEN"
     27    assert fid.domain_id == "GEN"
    2828    assert fid.entity_type == "I"
    2929    assert fid.date_str == "251101"
     
    5858    assert fid1 == fid2  # deterministic
    5959    assert fid1.hash_part == fid2.hash_part
    60     assert fid1.domain == "GEN"
     60    assert fid1.domain_id == "GEN"
    6161    assert fid1.entity_type == "I"
    6262
     
    135135    fid = FlexOID("GEN-I251101-ABCDEF123456@007S")
    136136    data = fid.parsed()
    137     assert data["domain"] == "GEN"
     137    assert data["domain_id"] == "GEN"
    138138    assert data["entity_type"] == "I"
    139139    assert data["version"] == 7
  • tests/test_id_stress.py

    r4dc09bb r6ad031b  
    1414logger = logging.getLogger(__name__)
    1515
    16 def test_bulk_generation_uniqueness(domain):
     16def test_bulk_generation_uniqueness(sample_domain):
    1717    """
    1818    Generate 100,000 IDs and ensure uniqueness using safe_generate().
     
    3333    ids = []
    3434    for seed in seeds:
    35         oid = FlexOID.safe_generate(domain.domain_code, entity_type.value, estate.value, seed, repo=repo)
     35        oid = FlexOID.safe_generate(sample_domain.domain_id, entity_type.value,
     36                                    estate.value, seed, repo=repo)
    3637        assert isinstance(oid, FlexOID)
    3738        ids.append(str(oid))
     
    4849
    4950    # Sanity check: IDs should look canonical
    50     assert all(id_str.startswith("GEN") for id_str in ids)
     51    # assert all(id_str.startswith("GENERIC") for id_str in ids)
    5152    assert all("@" in id_str for id_str in ids)
    5253
    53 def test_id_generation_is_deterministic(domain):
     54def test_id_generation_is_deterministic(sample_domain):
    5455    """
    5556    Generating the same entity twice with same inputs yields identical ID.
     
    6061    text = "identical question text"
    6162
    62     id1 = FlexOID.generate(domain.domain_code, entity_type.value, estate.value, text)
    63     id2 = FlexOID.generate(domain.domain_code, entity_type.value, estate.value, text)
     63    id1 = FlexOID.generate(sample_domain.domain_id, entity_type.value, estate.value, text)
     64    id2 = FlexOID.generate(sample_domain.domain_id, entity_type.value, estate.value, text)
    6465    # IDs must be identical because generation is deterministic
    6566    assert id1 == id2
    66 
    67 
    68 # def test_id_reproducibility_across_runs(domain):
    69 #     """
    70 #     The same seed on a new process (fresh _seen_hashes)
    71 #     should yield the same base ID (without suffix).
    72 #     """
    73 #     entity_type = EntityType.CATALOG
    74 #     estate = EntityState.DRAFT
    75 #     seed = "reproducibility test seed"
    76 
    77 #     id1 = FlexOID.generate(domain.domain_code, entity_type.value, estate.value, seed)
    78 #     FlexOID._seen_hashes.clear()
    79 #     id2 = FlexOID.generate(domain.domain_code, entity_type.value, estate.value, seed)
    80 
    81 #     assert id1 == id2
    8267
    8368
Note: See TracChangeset for help on using the changeset viewer.