예제 #1
0
        public void GivenAnInvalidAuthorizationConfigurationForRoleWithNoActions_WhenValidated_ThrowAppropriateValidationException()
        {
            var invalidAuthorizationConfiguration          = Samples.GetJsonSample <AuthorizationConfiguration>("AuthConfigWithInvalidEntries");
            InvalidDefinitionException validationException = Assert.Throws <InvalidDefinitionException>(() => invalidAuthorizationConfiguration.ValidateRoles());

            Assert.NotNull(validationException.Issues.SingleOrDefault(issueComp => issueComp.Diagnostics.Equals("Role 'Nurse' contains a ResourcePermission with no Actions.")));
        }
        private void BuildAndVerify(SearchParameterDefinitionBuilder builder, string expectedIssue)
        {
            InvalidDefinitionException ex = Assert.Throws <InvalidDefinitionException>(() => builder.Build());

            Assert.Contains(ex.Issues, issue =>
                            issue.Severity == IssueSeverity.Fatal.ToString() &&
                            issue.Code == IssueType.Invalid.ToString() &&
                            issue.Diagnostics.StartsWith(expectedIssue));
        }
예제 #3
0
        public void GivenAnInvalidAuthorizationConfigurationForRoleWithNoPermissions_WhenValidated_ThrowAppropriateValidationException()
        {
            var invalidAuthorizationConfiguration = Samples.GetJsonSample <AuthorizationConfiguration>("AuthConfigWithValidRoles");

            invalidAuthorizationConfiguration.Roles[0].ResourcePermissions.Clear();

            InvalidDefinitionException validationException = Assert.Throws <InvalidDefinitionException>(() => invalidAuthorizationConfiguration.ValidateRoles());

            Assert.NotNull(validationException.Issues.SingleOrDefault(issueComp => issueComp.Diagnostics.Equals("Role 'clinician' must have one or more ResourcePermissions.")));
        }
예제 #4
0
        private void BuildAndVerify(string filename, string expectedIssue)
        {
            var bundle = SearchParameterDefinitionBuilder.ReadEmbeddedSearchParameters(
                filename,
                ModelInfoProvider.Instance,
                $"{typeof(Definitions).Namespace}.DefinitionFiles",
                typeof(EmbeddedResourceManager).Assembly);

            InvalidDefinitionException ex = Assert.Throws <InvalidDefinitionException>(
                () => SearchParameterDefinitionBuilder.Build(bundle.Entries.Select(e => e.Resource).ToList(), _uriDictionary, _resourceTypeDictionary, ModelInfoProvider.Instance));

            Assert.Contains(ex.Issues, issue =>
                            issue.Severity == IssueSeverity.Fatal.ToString() &&
                            issue.Code == IssueType.Invalid.ToString() &&
                            issue.Diagnostics.StartsWith(expectedIssue));
        }