Commit 115e8f6
fix: TryAddPath exact-match check for duplicate bound operation paths (#809)
* fix: TryAddPath exact-match check for duplicate bound operation paths
When a duplicate path is detected in TryAddPath, the existing heuristic
checks if the new operation's binding type has derived types and, if so,
keeps the first entry assuming it was more specific. This is incorrect
when the first entry came from a base type (e.g., directoryObject) and
the new entry is the exact match for the entity set (e.g., servicePrincipal).
Add an exact-match check: if the operation's binding type matches the
entity set type, always replace the existing entry regardless of derived
types. This ensures paths like /servicePrincipals/delta() return the
correct type (servicePrincipal) instead of the base type (directoryObject).
Fixes #808
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* ci: removes outdated compilation files causing failure
Reflection of #766 - removes obsolete tool/ build files and UpdateDocs project
references that were causing build failures.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Update test/Microsoft.OpenAPI.OData.Reader.Tests/Edm/ODataPathProviderTests.cs
Co-authored-by: Michael Mainer <8527305+MIchaelMainer@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Michael Mainer <8527305+MIchaelMainer@users.noreply.github.com>1 parent 052e168 commit 115e8f6
13 files changed
Lines changed: 81 additions & 429 deletions
File tree
- src/Microsoft.OpenApi.OData.Reader/Common
- test/Microsoft.OpenAPI.OData.Reader.Tests/Edm
- tool
- PoliCheck
- UpdateDocs
- Properties
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
20 | 18 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | | - | |
| 8 | + | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | 19 | | |
24 | 20 | | |
25 | 21 | | |
| |||
42 | 38 | | |
43 | 39 | | |
44 | 40 | | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | 41 | | |
50 | 42 | | |
51 | 43 | | |
52 | 44 | | |
53 | 45 | | |
54 | 46 | | |
55 | 47 | | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | 48 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
372 | 372 | | |
373 | 373 | | |
374 | 374 | | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
375 | 382 | | |
376 | 383 | | |
377 | 384 | | |
| |||
Lines changed: 72 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
921 | 922 | | |
922 | 923 | | |
923 | 924 | | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
| 928 | + | |
| 929 | + | |
| 930 | + | |
| 931 | + | |
| 932 | + | |
| 933 | + | |
| 934 | + | |
| 935 | + | |
| 936 | + | |
| 937 | + | |
| 938 | + | |
| 939 | + | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
924 | 996 | | |
925 | 997 | | |
926 | 998 | | |
| |||
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments