test(content-access): Add unit tests for initialize and admin paths#1268
Open
NUMBER72857 wants to merge 1 commit into
Open
test(content-access): Add unit tests for initialize and admin paths#1268NUMBER72857 wants to merge 1 commit into
NUMBER72857 wants to merge 1 commit into
Conversation
…yFanss#910) - init_admin_tests.rs: 17 tests across 4 groups - initialize: stores admin, stores token, double-init returns AlreadyInitialized (code 1), missing admin auth panics with Unauthorized - admin() view: returns configured admin, panics when uninitialized - set_admin: transfers role, requires current-admin auth, supports chained transfers; new admin can call set_max_price after transfer - set_max_price (admin-gated): stores cap, None before set, clear via 0, non-admin rejected, prices above cap rejected, prices at cap accepted - Uses #[should_panic(expected = "Unauthorized function call")] where auth must fire - Uses try_initialize / try_set_admin / try_set_max_price with assert!(result.is_err()) for explicit error-code assertions - Follows existing test patterns: MockToken, setup() helper, EMPTY_AUTHS sentinel Closes MyFanss#910
|
@NUMBER72857 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds 17 focused unit tests for the
content-accesscontract's two most security-critical paths: initialization (once-only, admin stored) and admin authorization enforcement across all admin-gated functions.Changes
src/tests/init_admin_tests.rs: 17 tests across 4 groupssrc/lib.rs:mod init_admin_testsdeclaration added alongside existing test modulesTest coverage
initializeAlreadyInitialized(code 1), missing auth panicsadmin()viewset_adminset_max_price(admin-gated)Nonebefore set, clear via0, non-admin rejected, price-above-cap rejected, price-at-cap acceptedPatterns used
try_initialize/try_set_admin/try_set_max_pricewithassert!(result.is_err())for error-code checks#[should_panic(expected = "Unauthorized function call")]whererequire_authmust fireEMPTY_AUTHSsentinel (same as existing test modules) to disable auth mockingMockTokenandsetup()helper following existing test conventionsCloses #910