mirror of
https://gitea.osmocom.org/sim-card/pysim.git
synced 2026-10-21 12:49:06 +03:00
personalization: EnumParam: implement as value_map, not enum.IntEnum
Because of (1) and (2) below, using enum.IntEnum is not a good choice
for EnumParam. Use a plain dict as value map.
EnumParam's idea is to be a mapping
human-readable-value-for-UI -> PES-value
and with enum.IntEnum we...
(1) ...we impose python namespace rules onto
human-readable-value-for-UI: "My Value" is not allowed, only "my_value".
By using enum.IntEnum, we make it impossible to use human readable
values like:
- "SUCI-on" (dash not allowed in python identifier)
- "True" (python keyword not allowed)
- "2" (numeric constant cannot be a python identifier)
(2) ...we limit PES-values to int. The mapping should support any type
that the given PES attribute needs (int, bool, bytes, ...).
Future: upcoming ConfigurableParameters depend on this patch:
- MncLen (labels "2" and "3")
- EuiccMandatoryServiceParam (values True and False)
- EfUstServiceParam like SuciInUsim (labels "SUCI-in-UE" and
"SUCI-in-USIM")
History: this is near the first version of EnumParam, before it was
modified by fixeria to use enum.IntEnum, as requested by CR. I realize
now that enum.IntEnum will not work for upcoming eSIM parameters.
Change-Id: I690ceccf0ec7ef7067bcaa5cec1303cdaf0f78a4
Jenkins: skip-card-test
This commit is contained in:
@@ -86,33 +86,33 @@ ok: TS48v5_SAIP2.1A_NoBERTLV.der Adm1(val=123456:int)
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der AlgorithmID(val='Milenage':str)
|
||||
clean_val=1:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'Milenage'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der AlgorithmID(val='TUAK':str)
|
||||
clean_val=2:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'TUAK'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der AlgorithmID(val='usim-test':str)
|
||||
clean_val=3:int
|
||||
previous value: ['usim_test']
|
||||
read_back_val={'Algorithm': 'usim_test'}:{str}
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'usim-test'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der AlgorithmID(val=1:int)
|
||||
clean_val=1:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'Milenage'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der AlgorithmID(val=2:int)
|
||||
clean_val=2:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'TUAK'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der AlgorithmID(val=3:int)
|
||||
clean_val=3:int
|
||||
previous value: ['usim_test']
|
||||
read_back_val={'Algorithm': 'usim_test'}:{str}
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'usim-test'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.1A_NoBERTLV.der K(val='01020304050607080910111213141516':str)
|
||||
clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
|
||||
@@ -961,33 +961,33 @@ ok: TS48v5_SAIP2.3_BERTLV_SUCI.der Adm1(val=123456:int)
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der AlgorithmID(val='Milenage':str)
|
||||
clean_val=1:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'Milenage'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der AlgorithmID(val='TUAK':str)
|
||||
clean_val=2:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'TUAK'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der AlgorithmID(val='usim-test':str)
|
||||
clean_val=3:int
|
||||
previous value: ['usim_test']
|
||||
read_back_val={'Algorithm': 'usim_test'}:{str}
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'usim-test'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der AlgorithmID(val=1:int)
|
||||
clean_val=1:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'Milenage'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der AlgorithmID(val=2:int)
|
||||
clean_val=2:int
|
||||
previous value: ['usim_test']
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'TUAK'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der AlgorithmID(val=3:int)
|
||||
clean_val=3:int
|
||||
previous value: ['usim_test']
|
||||
read_back_val={'Algorithm': 'usim_test'}:{str}
|
||||
previous value: ['usim-test']
|
||||
read_back_val={'Algorithm': 'usim-test'}:{str}
|
||||
|
||||
ok: TS48v5_SAIP2.3_BERTLV_SUCI.der K(val='01020304050607080910111213141516':str)
|
||||
clean_val=b'\x01\x02\x03\x04\x05\x06\x07\x08\t\x10\x11\x12\x13\x14\x15\x16':bytes
|
||||
|
||||
Reference in New Issue
Block a user