Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Generation] Untyped node support #4095

Merged
merged 36 commits into from
Mar 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
f8a5009
Fixes broken tests
Jan 30, 2024
a7af5dc
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Jan 30, 2024
75d7f38
WIP. Tests
Jan 30, 2024
8f6b6d9
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Jan 30, 2024
5adcf8a
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Jan 31, 2024
785f50c
Bring back missing properties
Jan 31, 2024
dda4ef6
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Jan 31, 2024
2b994c4
Fix typo
Jan 31, 2024
bcea41c
Format
Jan 31, 2024
6f9977b
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 8, 2024
a135d49
Java fixes
Feb 8, 2024
824deb4
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 9, 2024
e5bc01b
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 9, 2024
ba81f41
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 27, 2024
bcacb18
Todo testing
Feb 27, 2024
a64207c
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 28, 2024
b0b2dd5
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 28, 2024
7dd40a1
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 28, 2024
6d5afc6
CLI does not need it.
Feb 28, 2024
0f81eaa
Adds CI for intergration tests.
Feb 28, 2024
270486e
Add intergration test for validation
Feb 28, 2024
3a892b5
Fix golang compilation
Feb 29, 2024
d8e4bb0
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 29, 2024
fcb9830
Cleanup go runnability
Feb 29, 2024
5c8b5fd
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Feb 29, 2024
619611e
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Mar 4, 2024
a4664e1
Fix missing imports.
Mar 4, 2024
0377e2e
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Mar 4, 2024
87c9412
Adds more tests
Mar 4, 2024
2f66e4f
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Mar 5, 2024
f3d1ca4
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Mar 20, 2024
5bccb1e
Adds changelog entry.
Mar 20, 2024
a6f7650
Apply suggestions from code review
baywet Mar 20, 2024
12adc03
Merge branch 'main' into andrueastman/untypedNodes
andrueastman Mar 21, 2024
d9edd0b
Fix intergrations tests updates.
Mar 21, 2024
83b26e5
Merge remote-tracking branch 'origin/main' into andrueastman/untypedN…
Mar 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
168 changes: 89 additions & 79 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,89 +1,99 @@
version: 2
updates:
- package-ecosystem: nuget
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- generator
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
- package-ecosystem: nuget
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10
labels:
- generator
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10


- package-ecosystem: nuget
directory: "/it/csharp"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: nuget
directory: "/it/csharp"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: gomod
directory: "/it/go"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: gomod
directory: "/it/go"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: composer
directory: "/it/php"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: composer
directory: "/it/php"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: pip
directory: "/it/python"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: pip
directory: "/it/python"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: bundler
directory: "/it/ruby"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: bundler
directory: "/it/ruby"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: npm
directory: "/it/typescript"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"
- package-ecosystem: maven
directory: "/it/java"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: npm
directory: "/vscode/microsoft-kiota"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
eslint:
patterns:
- "*eslint*"
- package-ecosystem: npm
directory: "/it/typescript"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
kiota-dependencies:
patterns:
- "*kiota*"

- package-ecosystem: npm
directory: "/vscode/microsoft-kiota"
schedule:
interval: daily
open-pull-requests-limit: 10
groups:
eslint:
patterns:
- "*eslint*"
2 changes: 2 additions & 0 deletions .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@ jobs:
- "apisguru::twilio.com:api"
- "apisguru::docusign.net"
- "apisguru::github.com:api.github.com"
- "apisguru::apis.guru"

steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
Expand Down
12 changes: 4 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

- Added a warning message in the CLI when using preview languages. [#4316](https://github.com/microsoft/kiota/issues/4316)
- Added support for handling untyped Json content in C#,Golang, TypeScript and Java. [#2319](https://github.com/microsoft/kiota/issues/2319)

### Changed

Expand Down Expand Up @@ -646,9 +647,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Fixed a bug where path parameters would be missing if no operation was present at the segment the parameter is defined. [#1940](https://github.com/microsoft/kiota/issues/1940)
- Fixed a bug where nested classes with long names caused compilation errors for java generated libraries. [#1949](https://github.com/microsoft/kiota/issues/1949)
- Removed use of anonymous classes in java generated libraries to reduce the number of java classes created at compilation time. [#1980](https://github.com/microsoft/kiota/pull/1980)
- Fixed a bug where generation would result in wrong indentation in some classes for Python [#1996]((https://github.com/microsoft/kiota/issues/1996).
- Fixed a bug where error class modules were hardcoded for Python [#1999]((https://github.com/microsoft/kiota/issues/1999)
- Fixed a bug where generation would sometimes result in wrong original names for query parameters in Python [#2000]((https://github.com/microsoft/kiota/issues/2000).
- Fixed a bug where generation would result in wrong indentation in some classes for Python [#1996](https://github.com/microsoft/kiota/issues/1996).
- Fixed a bug where error class modules were hardcoded for Python [#1999](https://github.com/microsoft/kiota/issues/1999)
- Fixed a bug where generation would sometimes result in wrong original names for query parameters in Python [#2000](https://github.com/microsoft/kiota/issues/2000).
- Fixed a bug where Java would fail to compile for endpoints that return collections.

## [0.7.1] - 2022-11-01
Expand Down Expand Up @@ -1287,8 +1288,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added

- Initial GitHub release





6 changes: 6 additions & 0 deletions it/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -339,5 +339,11 @@
"Rationale": "https://github.com/microsoft/kiota/issues/1812"
}
]
},
"apisguru::apis.guru": {
"Suppressions": [
],
"IdempotencySuppressions": [
]
}
}
49 changes: 49 additions & 0 deletions it/go/client/api_client.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
// This is a temporary file to be used until the code is generated and will be overwritten.
package client

import (
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f "github.com/microsoft/kiota-abstractions-go"
i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91 "github.com/microsoft/kiota-abstractions-go/serialization"
i4bcdc892e61ac17e2afc10b5e2b536b29f4fd6c1ad30f4a5a68df47495db3347 "github.com/microsoft/kiota-serialization-form-go"
i25911dc319edd61cbac496af7eab5ef20b6069a42515e22ec6a9bc97bf598488 "github.com/microsoft/kiota-serialization-json-go"
i56887720f41ac882814261620b1c8459c4a992a0207af547c4453dd39fabc426 "github.com/microsoft/kiota-serialization-multipart-go"
i7294a22093d408fdca300f11b81a887d89c47b764af06c8b803e2323973fdb83 "github.com/microsoft/kiota-serialization-text-go"
)

// ApiClient the main entry point of the SDK, exposes the configuration and the fluent API.
type ApiClient struct {
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.BaseRequestBuilder
}

// NewApiClient instantiates a new ApiClient and sets the default values.
func NewApiClient(requestAdapter i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RequestAdapter) *ApiClient {
m := &ApiClient{
BaseRequestBuilder: *i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.NewBaseRequestBuilder(requestAdapter, "{+baseurl}", map[string]string{}),
}
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultSerializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriterFactory {
return i25911dc319edd61cbac496af7eab5ef20b6069a42515e22ec6a9bc97bf598488.NewJsonSerializationWriterFactory()
})
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultSerializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriterFactory {
return i7294a22093d408fdca300f11b81a887d89c47b764af06c8b803e2323973fdb83.NewTextSerializationWriterFactory()
})
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultSerializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriterFactory {
return i4bcdc892e61ac17e2afc10b5e2b536b29f4fd6c1ad30f4a5a68df47495db3347.NewFormSerializationWriterFactory()
})
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultSerializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.SerializationWriterFactory {
return i56887720f41ac882814261620b1c8459c4a992a0207af547c4453dd39fabc426.NewMultipartSerializationWriterFactory()
})
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultDeserializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNodeFactory {
return i25911dc319edd61cbac496af7eab5ef20b6069a42515e22ec6a9bc97bf598488.NewJsonParseNodeFactory()
})
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultDeserializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNodeFactory {
return i7294a22093d408fdca300f11b81a887d89c47b764af06c8b803e2323973fdb83.NewTextParseNodeFactory()
})
i2ae4187f7daee263371cb1c977df639813ab50ffa529013b7437480d1ec0158f.RegisterDefaultDeserializer(func() i878a80d2330e89d26896388a3f487eef27b0a0e6c010c493bf80be1452208f91.ParseNodeFactory {
return i4bcdc892e61ac17e2afc10b5e2b536b29f4fd6c1ad30f4a5a68df47495db3347.NewFormParseNodeFactory()
})
if m.BaseRequestBuilder.RequestAdapter.GetBaseUrl() == "" {
m.BaseRequestBuilder.RequestAdapter.SetBaseUrl("https://localhost/v2")
}
m.BaseRequestBuilder.PathParameters["baseurl"] = m.BaseRequestBuilder.RequestAdapter.GetBaseUrl()
return m
}
40 changes: 20 additions & 20 deletions it/go/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,37 +3,37 @@ module integrationtest
go 1.20

require (
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0
github.com/microsoft/kiota-abstractions-go v1.5.0
github.com/microsoft/kiota-authentication-azure-go v1.0.1
github.com/microsoft/kiota-http-go v1.1.0
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.1
github.com/microsoft/kiota-abstractions-go v1.6.0
github.com/microsoft/kiota-authentication-azure-go v1.0.2
github.com/microsoft/kiota-http-go v1.3.3
github.com/microsoft/kiota-serialization-form-go v1.0.0
github.com/microsoft/kiota-serialization-json-go v1.0.4
github.com/microsoft/kiota-serialization-json-go v1.0.7
github.com/microsoft/kiota-serialization-multipart-go v1.0.0
github.com/microsoft/kiota-serialization-text-go v1.0.0
)

require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.10.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.2 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
github.com/cjlapao/common-go v0.0.39 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/go-logr/logr v1.3.0 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang-jwt/jwt/v5 v5.1.0 // indirect
github.com/google/uuid v1.4.0 // indirect
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/std-uritemplate/std-uritemplate/go v0.0.46 // indirect
github.com/stretchr/testify v1.8.4 // indirect
go.opentelemetry.io/otel v1.20.0 // indirect
go.opentelemetry.io/otel/metric v1.20.0 // indirect
go.opentelemetry.io/otel/trace v1.20.0 // indirect
golang.org/x/crypto v0.15.0 // indirect
golang.org/x/net v0.18.0 // indirect
golang.org/x/sys v0.14.0 // indirect
github.com/std-uritemplate/std-uritemplate/go v0.0.55 // indirect
github.com/stretchr/testify v1.9.0 // indirect
go.opentelemetry.io/otel v1.24.0 // indirect
go.opentelemetry.io/otel/metric v1.24.0 // indirect
go.opentelemetry.io/otel/trace v1.24.0 // indirect
golang.org/x/crypto v0.21.0 // indirect
golang.org/x/net v0.22.0 // indirect
golang.org/x/sys v0.18.0 // indirect
golang.org/x/text v0.14.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
Loading
Loading