public void ValidateOperationShouldThrowWhenOperationMetadataIsNull()
        {
            ODataOperation operation = new ODataAction();
            Action         action    = () => ODataJsonLightValidationUtils.ValidateOperation(metadataDocumentUri, operation);

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ValidationUtils_ActionsAndFunctionsMustSpecifyMetadata(operation.GetType().Name));
        }
        public void ValidateOperationShouldNotThrowWhenOperationMetadataIsNotOpenAndOperationTargetNull()
        {
            ODataOperation operation = new ODataAction {
                Metadata = new Uri(metadataDocumentUri.OriginalString + "#baz")
            };

            ODataJsonLightValidationUtils.ValidateOperation(metadataDocumentUri, operation);
        }
        public void ValidateOperationShouldThrowWhenOperationMetadataIsOpenAndOperationTargetIsNotNull()
        {
            ODataOperation operation = new ODataAction {
                Metadata = new Uri("http://www.example.com/foo#baz"), Target = new Uri("http://www.example.com")
            };
            Action action = () => ODataJsonLightValidationUtils.ValidateOperation(metadataDocumentUri, operation);

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ODataJsonLightValidationUtils_OpenMetadataReferencePropertyNotSupported("http://www.example.com/foo#baz", metadataDocumentUri.AbsoluteUri));
        }
        public void ValidateOperationShouldThrowWhenOperationMetadataIsNotMetadataReferenceProperty()
        {
            ODataOperation operation = new ODataAction {
                Metadata = new Uri("foobaz", UriKind.Relative)
            };
            Action action = () => ODataJsonLightValidationUtils.ValidateOperation(metadataDocumentUri, operation);

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ValidationUtils_InvalidMetadataReferenceProperty("foobaz"));
        }
Пример #5
0
        /// <summary>
        /// Sets the metadata builder for this operation.
        /// </summary>
        /// <param name="builder">The metadata builder used to compute values from model annotations.</param>
        /// <param name="metadataDocumentUri">The metadata document Uri.</param>
        internal void SetMetadataBuilder(ODataEntityMetadataBuilder builder, Uri metadataDocumentUri)
        {
            Debug.Assert(metadataDocumentUri != null, "metadataDocumentUri != null");
            Debug.Assert(metadataDocumentUri.IsAbsoluteUri, "metadataDocumentUri.IsAbsoluteUri");

            ODataJsonLightValidationUtils.ValidateOperation(metadataDocumentUri, this);
            this.metadataBuilder   = builder;
            this.operationFullName = ODataJsonLightUtils.GetFullyQualifiedOperationName(metadataDocumentUri, UriUtils.UriToString(this.Metadata), out this.parameterNames);
            this.computedTitle     = null;
            this.computedTarget    = null;
        }
Пример #6
0
        /// <summary>
        /// Sets the metadata builder for this operation.
        /// </summary>
        /// <param name="builder">The metadata builder used to compute values from model annotations.</param>
        /// <param name="metadataDocumentUri">The metadata document Uri.</param>
        internal void SetMetadataBuilder(ODataEntityMetadataBuilder builder, Uri metadataDocumentUri)
        {
            DebugUtils.CheckNoExternalCallers();
            Debug.Assert(metadataDocumentUri != null, "metadataDocumentUri != null");
            Debug.Assert(metadataDocumentUri.IsAbsoluteUri, "metadataDocumentUri.IsAbsoluteUri");

            ODataJsonLightValidationUtils.ValidateOperation(metadataDocumentUri, this);
            this.metadataBuilder   = builder;
            this.operationFullName = ODataJsonLightUtils.GetFullyQualifiedFunctionImportName(metadataDocumentUri, UriUtilsCommon.UriToString(this.Metadata), out this.bindingParameterTypeName);
            this.computedTitle     = null;
            this.computedTarget    = null;
        }
 public void ValidateMetadataReferencePropertyNameShouldNotThrowWhenNameHasTwoHashes()
 {
     ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, "#foo#baz");
 }
        public void ValidateMetadataReferencePropertyNameShouldThrowWhenNameIsJustHash()
        {
            Action action = () => ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, "#");

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ValidationUtils_InvalidMetadataReferenceProperty("#"));
        }
        public void ValidateMetadataReferencePropertyNameShouldThrowWhenNameIsAbsoluteUriWithoutHash()
        {
            Action action = () => ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, "http://www.example.com/foo");

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ValidationUtils_InvalidMetadataReferenceProperty("http://www.example.com/foo"));
        }
 public void ValidateMetadataReferencePropertyNameShouldNotThrowWhenNameIsMetadataDocumentUriWithHashThenValidIdentifier()
 {
     ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, metadataDocumentUri.OriginalString + "#bar");
 }
        public void ValidateMetadataReferencePropertyNameShouldThrowWhenNameIsOpenMetadataReferenceProperty()
        {
            Action action = () => ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, "http://www.example.com/$metadata#foo");

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ODataJsonLightValidationUtils_OpenMetadataReferencePropertyNotSupported("http://www.example.com/$metadata#foo", metadataDocumentUri.AbsoluteUri));
        }
Пример #12
0
        public void ValidateMetadataReferencePropertyNameShouldThrowWhenNameIsIdentifierHashIdentifier()
        {
            Action action = () => ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, "foo#baz");

            action.Throws <ODataException>(ErrorStrings.ValidationUtils_InvalidMetadataReferenceProperty("foo#baz"));
        }
 public void IsOpenMetadataReferencePropertyNameShouldBeFalseWhenNameIsAbsoluteUriRelativeToMetadataDocumentUri()
 {
     ODataJsonLightValidationUtils.IsOpenMetadataReferencePropertyName(metadataDocumentUri, metadataDocumentUri.OriginalString + "#baz").Should().BeFalse();
 }
        public void ValidateOperationPropertyShouldThrowWhenPropertyValueIsNull()
        {
            Action action = () => ODataJsonLightValidationUtils.ValidateOperationPropertyValueIsNotNull(null, "target", "#action1");

            action.ShouldThrow <ODataException>().WithMessage(ErrorStrings.ODataJsonLightValidationUtils_OperationPropertyCannotBeNull("target", "#action1"));
        }
 public void IsOpenMetadataReferencePropertyNameShouldBeTrueWhenNameIsAbsoluteUriNotRelativeToMetadataDocumentUri()
 {
     ODataJsonLightValidationUtils.IsOpenMetadataReferencePropertyName(metadataDocumentUri, "http://www.example.com/foo#baz").Should().BeTrue();
 }
 public void IsOpenMetadataReferencePropertyNameShouldBeFalseWhenNameDoesNotContainHash()
 {
     ODataJsonLightValidationUtils.IsOpenMetadataReferencePropertyName(metadataDocumentUri, "http://www.example.com/foobaz").Should().BeFalse();
     ODataJsonLightValidationUtils.IsOpenMetadataReferencePropertyName(metadataDocumentUri, "foobaz").Should().BeFalse();
 }
 public void ValidateOperationPropertyShouldNotThrowWhenPropertyValueIsNotNull()
 {
     ODataJsonLightValidationUtils.ValidateOperationPropertyValueIsNotNull(string.Empty, "target", "#action1");
     ODataJsonLightValidationUtils.ValidateOperationPropertyValueIsNotNull("value", "target", "#action1");
 }
 public void IsOpenMetadataReferencePropertyNameShouldBeFalseWhenNameIsHashThenIdentifier()
 {
     ODataJsonLightValidationUtils.IsOpenMetadataReferencePropertyName(metadataDocumentUri, "#baz").Should().BeFalse();
 }
 public void ValidateMetadataReferencePropertyNameShouldNotThrowWhenNameIsHashThenValidIdentifier()
 {
     ODataJsonLightValidationUtils.ValidateMetadataReferencePropertyName(metadataDocumentUri, "#Action1");
 }