/// <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);
        }
        public void GetPathItemNameReturnsCorrectActionImportLiteral()
        {
            // Arrange & Act
            var segment = new ODataOperationImportSegment(_actionImport);

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

            // Assert
            Assert.Equal("MyFunction(firstName={firstName},lastName={lastName})",
                         segment.GetPathItemName(new OpenApiConvertSettings()));
        }
        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 #5
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);
        }