/// <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); }
/// <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())); }
/// <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 })); }
/// <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); }