public void RetrieveSubjectsForDirectory_InvalidDirectory(string d) { Collectors.SettingsProvider = MockProvider(); var fProv = mocks.DynamicMock <IFilesStorageProviderV30>(); mocks.Replay(fProv); AuthReader.RetrieveSubjectsForDirectory(fProv, d); }
public void RetrieveSubjectsForDirectory_Sub() { var mocks = new MockRepository(); var prov = mocks.DynamicMock <ISettingsStorageProviderV30>(); var filesProv = mocks.DynamicMock <IFilesStorageProviderV30>(); var aclManager = mocks.DynamicMock <IAclManager>(); Expect.Call(prov.AclManager).Return(aclManager).Repeat.Any(); var dirName = Actions.ForDirectories.ResourceMasterPrefix + AuthTools.GetDirectoryName(filesProv, "/Dir/Sub/"); Expect.Call(aclManager.RetrieveEntriesForResource(dirName)).Return( new[] { new AclEntry(dirName, Actions.ForDirectories.List, "U.User1", Value.Grant), new AclEntry(dirName, Actions.ForDirectories.UploadFiles, "U.User", Value.Grant), new AclEntry(dirName, Actions.ForDirectories.DownloadFiles, "G.Group", Value.Grant), new AclEntry(dirName, Actions.ForDirectories.CreateDirectories, "U.User", Value.Deny) }); mocks.Replay(prov); mocks.Replay(aclManager); Collectors.SettingsProvider = prov; var infos = AuthReader.RetrieveSubjectsForDirectory(filesProv, "/Dir/Sub/"); Assert.AreEqual(3, infos.Length, "Wrong info count"); Array.Sort(infos, delegate(SubjectInfo x, SubjectInfo y) { return(x.Name.CompareTo(y.Name)); }); Assert.AreEqual("Group", infos[0].Name, "Wrong subject name"); Assert.AreEqual(SubjectType.Group, infos[0].Type, "Wrong subject type"); Assert.AreEqual("User", infos[1].Name, "Wrong subject name"); Assert.AreEqual(SubjectType.User, infos[1].Type, "Wrong subject type"); Assert.AreEqual("User1", infos[2].Name, "Wrong subject name"); Assert.AreEqual(SubjectType.User, infos[2].Type, "Wrong subject type"); mocks.Verify(prov); mocks.Verify(aclManager); }