private void ReturnsCorrectFailureResult(PermissionsCheckResult permissionsCheckResult, IEnumerable <Scope> scopes) { // Arrange var user = new User("test") { Key = 1 }; var testableActionMock = new Mock <IActionRequiringEntityPermissions <TestablePermissionsEntity> >(); testableActionMock .Setup(a => a.CheckPermissions(user, user, It.IsAny <TestablePermissionsEntity>())) .Returns(permissionsCheckResult); var mockUserService = new Mock <IUserService>(); mockUserService.Setup(x => x.FindByKey(user.Key, false)).Returns(user); var apiScopeEvaluator = Setup(mockUserService); // Act var result = apiScopeEvaluator.Evaluate(user, scopes, testableActionMock.Object, null, DefaultGetSubjectFromEntity, NuGetScopes.All); // Assert AssertResult(result, user, permissionsCheckResult, scopesAreValid: true); }
private PermissionsCheckResult ChoosePermissionsCheckResult(PermissionsCheckResult current, PermissionsCheckResult next) { if (current == PermissionsCheckResult.Allowed || next == PermissionsCheckResult.Allowed) { return(PermissionsCheckResult.Allowed); } return(new[] { current, next }.Max()); }
public void WithMultipleScopesReturnsCorrectFailureResult(PermissionsCheckResult permissionsCheckResult) { var scopes = new[] { new Scope(DefaultSubject, null), new Scope(NuGetPackagePattern.AllInclusivePattern, NuGetScopes.All), new Scope(DefaultSubject, null) }; ReturnsCorrectFailureResult(permissionsCheckResult, scopes); }
public void ReturnsExpected(bool scopesAreValid, PermissionsCheckResult result, User owner, bool expectedIsSuccessful) { var apiScopeEvaluationResult = new ApiScopeEvaluationResult(owner, result, scopesAreValid); Assert.Equal(expectedIsSuccessful, apiScopeEvaluationResult.IsSuccessful()); }
public ApiScopeEvaluationResult(User owner, PermissionsCheckResult permissionsCheckResult, bool scopesAreValid) { ScopesAreValid = scopesAreValid; PermissionsCheckResult = permissionsCheckResult; Owner = owner; }
private void AssertResult(ApiScopeEvaluationResult result, User owner, PermissionsCheckResult permissionsCheckResult, bool scopesAreValid) { Assert.Equal(scopesAreValid, result.ScopesAreValid); Assert.Equal(permissionsCheckResult, result.PermissionsCheckResult); Assert.True(owner.MatchesUser(result.Owner)); }
public void ReturnsCorrectPermissionsCheckResultWhenSubjectAndActionMatches(PermissionsCheckResult permissionsCheckResult) { var scope = new Scope(NuGetPackagePattern.AllInclusivePattern, NuGetScopes.All); ReturnsCorrectFailureResult(permissionsCheckResult, new[] { scope }); }
private void AssertIsAllowed(IActionRequiringEntityPermissions <TestablePermissionsEntity> action, PermissionsCheckResult expectedFailure) { Assert.Equal(expectedFailure, action.CheckPermissions((User)null, null, null)); Assert.Equal(expectedFailure, action.CheckPermissions((IPrincipal)null, null, null)); }