def test_1070(self):
   """str() returns formatted string representation"""
   a = access_control.AccessControl()
   a.add_allowed_subject('subject_1', None)
   a.add_allowed_subject('subject_2', 'write')
   a.add_allowed_subject('subject_3', 'changePermission')
   self.sample.assert_equals(str(a), 'string_repr')
 def test_1040(self):
   """add_allowed_subject(): Subject added with invalid permission raises
   exception InvalidArguments"""
   a = access_control.AccessControl()
   with pytest.raises(cli_exceptions.InvalidArguments):
     a.add_allowed_subject('subject_1', 'invalid_permission')
   assert len(a.allow) == 0
 def test_1020(self):
   """add_allowed_subject(): Single subject added without specified permission
   is retained and defaults to read"""
   a = access_control.AccessControl()
   a.add_allowed_subject('subject_1', None)
   assert len(a.allow) == 1
   assert 'subject_1' in a.allow
   assert a.allow['subject_1'] == 'read'
 def test_1010(self):
   """clear(): Removes all allowed subjects"""
   a = access_control.AccessControl()
   a.add_allowed_subject('subject_1', None)
   a.add_allowed_subject('subject_2', None)
   a.add_allowed_subject('subject_3', None)
   a.clear()
   assert len(a.allow) == 0
 def test_1060(self):
   """remove_allowed_subject()"""
   a = access_control.AccessControl()
   a.add_allowed_subject('subject_1', None)
   a.add_allowed_subject('subject_2', 'write')
   a.add_allowed_subject('subject_3', 'changePermission')
   a.remove_allowed_subject('subject_3')
   assert len(a.allow) == 2
   assert not ('subject_3' in a.allow)
 def test_1080(self):
   """_confirm_special_subject_write(): Allows setting if user answers 'yes"""
   a = access_control.AccessControl()
   with d1_test.d1_test_case.capture_std() as (out_stream, err_stream):
     with d1_test.d1_test_case.mock_input('yes'):
       a._confirm_special_subject_write('public', 'write')
   prompt_str = out_stream.getvalue()
   assert 'WARN     It is not recommended to give write access to public. ' \
   'Continue? [yes/NO] ' == prompt_str
 def test_1030(self):
   """Adding subject that already exists updates its permission"""
   a = access_control.AccessControl()
   a.add_allowed_subject('subject_1', None)
   assert len(a.allow) == 1
   assert 'subject_1' in a.allow
   assert a.allow['subject_1'] == 'read'
   a.add_allowed_subject('subject_1', 'write')
   assert len(a.allow) == 1
   assert 'subject_1' in a.allow
   assert a.allow['subject_1'] == 'write'
 def test_1090(self):
   """_confirm_special_subject_write(): Raises InvalidArguments if user answers
   'no"""
   a = access_control.AccessControl()
   with d1_test.d1_test_case.capture_std():
     with d1_test.d1_test_case.mock_input('no'):
       with pytest.raises(cli_exceptions.InvalidArguments):
         a._confirm_special_subject_write(
           'public',
           'write',
         )
 def test_1070(self):
     """str() returns formatted string representation"""
     a = access_control.AccessControl()
     a.add_allowed_subject('subject_1', None)
     a.add_allowed_subject('subject_2', 'write')
     a.add_allowed_subject('subject_3', 'changePermission')
     actual = []
     for s in str(a).split('\n'):
         actual.append(s.strip())
     assert actual[1] == 'read                          "subject_1"'
     assert actual[2] == 'write                         "subject_2"'
     assert actual[3] == 'changePermission              "subject_3"'
 def test_1050(self):
   """add_allowed_subject(): Multiple subjects with different permissions are
   correctly retained"""
   a = access_control.AccessControl()
   a.add_allowed_subject('subject_1', None)
   a.add_allowed_subject('subject_2', 'write')
   a.add_allowed_subject('subject_3', 'changePermission')
   assert len(a.allow) == 3
   assert 'subject_1' in a.allow
   assert a.allow['subject_1'] == 'read'
   assert 'subject_2' in a.allow
   assert a.allow['subject_2'] == 'write'
   assert 'subject_3' in a.allow
   assert a.allow['subject_3'] == 'changePermission'
Exemple #11
0
 def reset(self):
   self._variables = self._create_default_variables()
   self._access_control = access_control.AccessControl()
   self._replication_policy = replication_policy.ReplicationPolicy()
 def test_1000(self):
   """AccessControl(): __init__()"""
   a = access_control.AccessControl()
   assert len(a.allow) == 0