/// <inheritdoc/>
        protected override void SetBasicInfo(OpenApiOperation operation)
        {
            operation.Summary = "Invoke " + (EdmOperationImport.IsActionImport() ? "actionImport " : "functionImport ") + EdmOperationImport.Name;

            if (Context.Settings.EnableOperationId)
            {
                if (EdmOperationImport.IsActionImport())
                {
                    operation.OperationId = "Functions_" + EdmOperationImport.Name;
                }
                else
                {
                    ODataOperationImportSegment operationImportSegment = Path.LastSegment as ODataOperationImportSegment;
                    string pathItemName = operationImportSegment.GetPathItemName(Context.Settings, new HashSet <string>());
                    if (Context.Model.IsOperationImportOverload(EdmOperationImport))
                    {
                        string hash = pathItemName.GetHashSHA256();
                        operation.OperationId = "Functions_" + EdmOperationImport.Name + "-" + hash.Substring(0, 4);
                    }
                    else
                    {
                        operation.OperationId = "Functions_" + EdmOperationImport.Name;
                    }
                }
            }

            base.SetBasicInfo(operation);
        }
Beispiel #2
0
        /// <inheritdoc/>
        protected override void Initialize(ODataContext context, ODataPath path)
        {
            base.Initialize(context, path);

            OperationImportSegment = path.LastSegment as ODataOperationImportSegment;
            EdmOperationImport     = OperationImportSegment.OperationImport;
        }
        public void GetPathItemNameReturnsCorrectActionImportLiteral()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_actionImport);

            // Assert
            Assert.Equal("MyAction", segment.GetPathItemName(new OpenApiConvertSettings()));
        }
        public void KindPropertyReturnsOperationImportEnumMember()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_actionImport);

            // Assert
            Assert.Equal(ODataSegmentKind.OperationImport, segment.Kind);
        }
        public void GetEntityTypeReturnsNull()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_actionImport);

            // Assert
            Assert.Null(segment.EntityType);
        }
        public void CtorSetOperationImportProperty()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_actionImport);

            // Assert
            Assert.Same(_actionImport, segment.OperationImport);
        }
        public void GetEntityTypeThrowsNotImplementedException()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_actionImport);

            // Assert
            Assert.Throws <NotImplementedException>(() => segment.EntityType);
        }
        public void GetPathItemNameReturnsCorrectFunctionImportLiteral()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_functionImport);

            // Assert
            Assert.Equal("MyFunction(firstName={firstName},lastName={lastName})",
                         segment.GetPathItemName(new OpenApiConvertSettings()));
        }
Beispiel #9
0
        /// <inheritdoc/>
        protected override void Initialize(ODataContext context, ODataPath path)
        {
            base.Initialize(context, path);

            ODataOperationImportSegment operationImportSegment = path.LastSegment as ODataOperationImportSegment;

            EdmOperationImport = operationImportSegment.OperationImport;

            Request = Context.FindRequest(EdmOperationImport, OperationType.ToString());
        }
        public void KindPropertyReturnsOperationImport()
        {
            // Arrange
            IEdmEntityContainer container       = new EdmEntityContainer("NS", "default");
            IEdmAction          action          = new EdmAction("NS", "MyAction", null);
            var operationImport                 = new EdmActionImport(container, "MyAction", action);
            ODataOperationImportSegment segment = new ODataOperationImportSegment(operationImport);
            ODataPath path = new ODataPath(segment);

            // Act & Assert
            Assert.Equal(ODataPathKind.OperationImport, path.Kind);
        }
        public void GetPathItemNameReturnsCorrectFunctionImportLiteral()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_functionImport);

            // Assert
            Assert.Equal("MyFunction(firstName='{firstName}',lastName='{lastName}')",
                         segment.GetPathItemName(new OpenApiConvertSettings()
            {
                AddSingleQuotesForStringParameters = true
            }));
        }
Beispiel #12
0
        /// <inheritdoc/>
        protected override void SetBasicInfo(OpenApiOperation operation)
        {
            operation.Summary = "Invoke " + (EdmOperationImport.IsActionImport() ? "actionImport " : "functionImport ") + EdmOperationImport.Name;

            if (Context.Settings.EnableOperationId)
            {
                if (EdmOperationImport.IsActionImport())
                {
                    operation.OperationId = "OperationImport." + EdmOperationImport.Name;
                }
                else
                {
                    ODataOperationImportSegment operationImportSegment = Path.LastSegment as ODataOperationImportSegment;
                    string pathItemName = operationImportSegment.GetPathItemName(Context.Settings);
                    string md5          = pathItemName.GetHashMd5();
                    operation.OperationId = "OperationImport." + EdmOperationImport.Name + "." + md5.Substring(8);
                }
            }

            base.SetBasicInfo(operation);
        }