Skip to content

Commit

Permalink
Add base class implementation for local users' passwords reset
Browse files Browse the repository at this point in the history
  • Loading branch information
azmyali98 committed May 9, 2024
1 parent 0362460 commit b147a91
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
25 changes: 25 additions & 0 deletions sonic_platform_base/local_users_passwords_reset_base.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
'''
local_users_passwords_reset_base.py
Abstract base class for implementing platform-specific
local users' passwords reset base functionality for SONiC
'''


class LocalUsersConfigurationResetBase(object):
"""
Abstract base class for resetting local users' passwords on the switch
"""
def should_trigger(self):
'''
define the condition to trigger
'''
# the condition to trigger start() method, the default implementation will be by checking if a long reboot press was detected.
raise NotImplementedError

def start(self):
'''
define the functionality
'''
# the implementation of deleting non-default users and restoring original passwords for default users and expiring them
raise NotImplementedError
31 changes: 31 additions & 0 deletions tests/local_users_passwords_reset_base_test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
'''
Test LocalUsersConfigurationResetBase module
'''

from unittest import mock
from sonic_platform_base.local_users_passwords_reset_base import LocalUsersConfigurationResetBase


class TestLocalUsersConfigurationResetBase:
'''
Collection of LocalUsersConfigurationResetBase test methods
'''
@staticmethod
def test_fan_base():
'''
Verify unimplemented methods
'''
base = LocalUsersConfigurationResetBase()
not_implemented_methods = [
(base.should_trigger,),
(base.start,)]

for method in not_implemented_methods:
expected_exception = False
try:
func = method[0]
args = method[1:]
func(*args)
except Exception as exc:
expected_exception = isinstance(exc, NotImplementedError)
assert expected_exception

0 comments on commit b147a91

Please sign in to comment.