public void KindPropertyReturnsTypeCastEnumMember() { // Arrange & Act var segment = new ODataTypeCastSegment(_person); // Assert Assert.Equal(ODataSegmentKind.TypeCast, segment.Kind); }
public void GetPathItemNameReturnsCorrectTypeCastLiteral() { // Arrange & Act var segment = new ODataTypeCastSegment(_person); // Assert Assert.Equal("NS.Person", segment.GetPathItemName(new OpenApiConvertSettings())); }
public void TypeCastSegmentEntityTypePropertyReturnsSameEntityType() { // Arrange & Act var segment = new ODataTypeCastSegment(_person); // Assert Assert.Same(_person, segment.EntityType); }
/// <inheritdoc/> protected override void SetBasicInfo(OpenApiOperation operation) { // Summary operation.Summary = "Invoke " + (EdmOperation.IsAction() ? "action " : "function ") + EdmOperation.Name; // OperationId if (Context.Settings.EnableOperationId) { StringBuilder operationId = new StringBuilder(NavigationSource.Name); if (HasTypeCast) { ODataTypeCastSegment typeCast = Path.Segments.FirstOrDefault(s => s is ODataTypeCastSegment) as ODataTypeCastSegment; operationId.Append("."); operationId.Append(typeCast.EntityType.Name); } else { operationId.Append("."); operationId.Append(NavigationSource.EntityType().Name); } operationId.Append("."); operationId.Append(EdmOperation.Name); if (EdmOperation.IsAction()) { operation.OperationId = operationId.ToString(); } else { ODataOperationSegment operationSegment = Path.LastSegment as ODataOperationSegment; string pathItemName = operationSegment.GetPathItemName(Context.Settings); string md5 = pathItemName.GetHashMd5(); operation.OperationId = operationId.Append(".").Append(md5.Substring(8)).ToString(); } } base.SetBasicInfo(operation); }