-
-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Preflight Checklist
- I have read the Contributing Guidelines for this project, if it exists.
- I agree to follow the Code of Conduct that this project adheres to.
- I have searched the issue tracker for a feature request that matches the one I want to file, without success.
Expected Behavior
Token value and Token Type have a 1:1 relation for DISABLE_PAYG and COUNTER_SYNC. As a user I would expect generate_token and decode_token to have the same interface in terms of how DISABLE_PAYG and COUNTER_SYNC are specified.
Actual Behavior
In generate_token only token_type must be specified. Providing a non-None value yields:
ValueError: A value is not allowed for this token type.In decode_token both token_type and token_value are returned.
Steps to reproduce
# OpenPAYGO-python
from openpaygo import OpenPAYGOTokenEncoder, TokenType
encoder = OpenPAYGOTokenEncoder()
new_count, final_token = encoder.generate_token(
secret_key="bc41ec9530f6dac86b1a29ab82edc5fb",
count=4,
value=998,
token_type=TokenType.DISABLE_PAYG,
starting_code=516959010,
restricted_digit_set=False,
extended_token=False,
)
print(f"{new_count=}")
print(f"{final_token=}")What operating system(s) are you using?
macOS
Additional Information
Suggested solutions:
Change generate_token to allow a token value that matches the provided token type. If none is given, the token value is derived from token_type. If a token type is provided that does not match the token value throw an error explaining the problem.
Alternative solution:
Change decode_token to not return token values for DISABLE_PAYG and COUNTER_SYNC
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working