Browse Source

feat(dynamite_end_to_end_test): Add parameters spec

Signed-off-by: jld3103 <jld3103yt@gmail.com>
pull/1020/head
jld3103 1 year ago
parent
commit
79b39f9153
No known key found for this signature in database
GPG Key ID: 9062417B9E8EB7B3
  1. 126
      packages/dynamite/dynamite_end_to_end_test/lib/parameters.openapi.dart
  2. 51
      packages/dynamite/dynamite_end_to_end_test/lib/parameters.openapi.json
  3. 8
      packages/dynamite/dynamite_end_to_end_test/pubspec.yaml

126
packages/dynamite/dynamite_end_to_end_test/lib/parameters.openapi.dart

@ -0,0 +1,126 @@
// ignore_for_file: camel_case_types
// ignore_for_file: discarded_futures
// ignore_for_file: public_member_api_docs
// ignore_for_file: unreachable_switch_case
import 'dart:typed_data';
import 'package:built_collection/built_collection.dart';
import 'package:built_value/json_object.dart';
import 'package:built_value/serializer.dart';
import 'package:built_value/standard_json_plugin.dart';
import 'package:dynamite_runtime/built_value.dart';
import 'package:dynamite_runtime/http_client.dart';
import 'package:dynamite_runtime/models.dart';
import 'package:meta/meta.dart';
import 'package:universal_io/io.dart';
class Client extends DynamiteClient {
Client(
super.baseURL, {
super.baseHeaders,
super.userAgent,
super.httpClient,
super.cookieJar,
});
Client.fromClient(final DynamiteClient client)
: super(
client.baseURL,
baseHeaders: client.baseHeaders,
httpClient: client.httpClient,
cookieJar: client.cookieJar,
authentications: client.authentications,
);
/// Returns a [Future] containing a [DynamiteResponse] with the status code, deserialized body and headers.
/// Throws a [DynamiteApiException] if the API call does not return an expected status code.
///
/// Parameters:
/// * [contentString]
/// * [contentParameter]
///
/// Status codes:
/// * 200
///
/// See:
/// * [$getRaw] for an experimental operation that returns a [DynamiteRawResponse] that can be serialized.
Future<DynamiteResponse<JsonObject, void>> $get({
final ContentString<BuiltMap<String, JsonObject>>? contentString,
final ContentString<BuiltMap<String, JsonObject>>? contentParameter,
}) async {
final rawResponse = $getRaw(
contentString: contentString,
contentParameter: contentParameter,
);
return rawResponse.future;
}
/// This method and the response it returns is experimental. The API might change without a major version bump.
///
/// Returns a [Future] containing a [DynamiteRawResponse] with the raw [HttpClientResponse] and serialization helpers.
/// Throws a [DynamiteApiException] if the API call does not return an expected status code.
///
/// Parameters:
/// * [contentString]
/// * [contentParameter]
///
/// Status codes:
/// * 200
///
/// See:
/// * [$get] for an operation that returns a [DynamiteResponse] with a stable API.
@experimental
DynamiteRawResponse<JsonObject, void> $getRaw({
final ContentString<BuiltMap<String, JsonObject>>? contentString,
final ContentString<BuiltMap<String, JsonObject>>? contentParameter,
}) {
final queryParameters = <String, dynamic>{};
final headers = <String, String>{
'Accept': 'application/json',
};
Uint8List? body;
if (contentString != null) {
queryParameters['content-string'] = _jsonSerializers.serialize(
contentString,
specifiedType: const FullType(ContentString, [
FullType(BuiltMap, [FullType(String), FullType(JsonObject)]),
]),
);
}
if (contentParameter != null) {
queryParameters['content-parameter'] = _jsonSerializers.serialize(
contentParameter,
specifiedType: const FullType(ContentString, [
FullType(BuiltMap, [FullType(String), FullType(JsonObject)]),
]),
);
}
const path = '/';
final uri = Uri(path: path, queryParameters: queryParameters.isNotEmpty ? queryParameters : null);
return DynamiteRawResponse<JsonObject, void>(
response: executeRequest(
'get',
uri,
headers,
body,
const {200},
),
bodyType: const FullType(JsonObject),
headersType: null,
serializers: _jsonSerializers,
);
}
}
// coverage:ignore-start
final Serializers _serializers = Serializers().toBuilder().build();
final Serializers _jsonSerializers = (_serializers.toBuilder()
..add(DynamiteDoubleSerializer())
..addPlugin(StandardJsonPlugin())
..addPlugin(const ContentStringPlugin()))
.build();
// coverage:ignore-end

51
packages/dynamite/dynamite_end_to_end_test/lib/parameters.openapi.json

@ -0,0 +1,51 @@
{
"openapi": "3.1.0",
"info": {
"title": "parameters test",
"version": "0.0.1"
},
"paths": {
"/": {
"get": {
"parameters": [
{
"name": "content-string",
"in": "query",
"schema": {
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "object",
"additionalProperties": {}
}
}
},
{
"name": "content-parameter",
"in": "query",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {}
}
}
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
}
}
}
}
}
}
}
},
"tags": []
}

8
packages/dynamite/dynamite_end_to_end_test/pubspec.yaml

@ -4,14 +4,18 @@ description: Tests for dynamite. Not meant for publishing.
version: 1.0.0
environment:
sdk: '>=3.1.1 <4.0.0'
sdk: '>=3.1.0 <4.0.0'
dependencies:
built_value: ^8.6.2
built_collection: ^5.0.0
built_value: ^8.0.0
dynamite_runtime:
git:
url: https://github.com/nextcloud/neon
path: packages/dynamite/dynamite_runtime
meta: ^1.0.0
universal_io: ^2.0.0
dev_dependencies:
build_runner: ^2.4.6
build_verify: ^3.1.0

Loading…
Cancel
Save