def _mock_backend(self): # type: () -> typing.Tuple[PythonTypesBackend, typing.List] backend = PythonTypesBackend( target_folder_path='output', args=['-r', 'dropbox.dropbox.Dropbox.{ns}_{route}']) emitted = _mock_emit(backend) return backend, emitted
def test__generate_types_single_ns(self): # type: () -> None api, _ = self._get_api() backend = TSDClientBackend(target_folder_path="output", args=['files', 'files']) emitted = _mock_emit(backend) backend._generate_routes(api, 0, 0) result = "".join(emitted) expected = textwrap.dedent('''\ /** * getMetadata() * * When an error occurs, the route rejects the promise with type Error<void>. * @param arg The request parameters. */ public filesGetMetadata(arg: void): Promise<void>; /** * getMetadataV2() * * When an error occurs, the route rejects the promise with type Error<void>. * @param arg The request parameters. */ public filesGetMetadataV2(arg: void): Promise<number>; ''') self.assertEqual(result, expected)
def _evaluate_namespace(self, ns): # type: (ApiNamespace) -> typing.Text backend = _make_backend() emitted = _mock_emit(backend) backend._generate_base_namespace_module(ns) result = "".join(emitted) return result
def _evaluate_namespace(self, ns): # type: (ApiNamespace) -> typing.Text backend = PythonClientBackend( target_folder_path='output', args=['-m', 'files', '-c', 'DropboxBase', '-t', 'dropbox']) emitted = _mock_emit(backend) backend._generate_routes(ns) result = "".join(emitted) return result
def _evaluate_namespace(self, ns): # type: (ApiNamespace) -> typing.Text backend = PythonTypesBackend( target_folder_path='output', args=['-r', 'dropbox.dropbox.Dropbox.{ns}_{route}']) emitted = _mock_emit(backend) route_schema = self._mk_route_schema() backend._generate_routes(route_schema, ns) result = "".join(emitted) return result
def _evaluate_namespace_with_auth_mode(self, ns, auth_mode): # type: (ApiNamespace, str) -> typing.Text # supply supported auth modes to the SDK generator using the new syntax backend = PythonClientBackend(target_folder_path='output', args=[ '-w', auth_mode, '-m', 'files', '-c', 'DropboxBase', '-t', 'dropbox' ]) emitted = _mock_emit(backend) backend._generate_route_methods({ns}) result = "".join(emitted) return result
def _evaluate_namespace(backend, namespace_list): # type: (TSDTypesBackend, typing.List[ApiNamespace]) -> typing.Text emitted = _mock_emit(backend) filename = "types.d.ts" backend.split_by_namespace = False backend._generate_base_namespace_module(namespace_list=namespace_list, filename=filename, extra_args={}, template="""/*TYPES*/""", exclude_error_types=True) result = "".join(emitted) return result
def test_route_versions(self): # type: () -> None api, _ = self._get_api() backend = JavascriptClientBackend( target_folder_path='output', args=['files', '-c', 'DropboxBase']) emitted = _mock_emit(backend) backend.generate(api) result = "".join(emitted) expected = textwrap.dedent('''\ // Auto-generated by Stone, do not modify. var routes = {}; /** * get_metadata * @function DropboxBase#filesGetMetadata * @arg {void} arg - The request parameters. * @returns {Promise.<void, Error.<void>>} */ routes.filesGetMetadata = function (arg) { return this.request("files/get_metadata", arg); }; /** * get_metadata_v2 * @function DropboxBase#filesGetMetadataV2 * @arg {void} arg - The request parameters. * @returns {Promise.<number, Error.<void>>} */ routes.filesGetMetadataV2 = function (arg) { return this.request("files/get_metadata_v2", arg); }; export { routes }; ''') assert result == expected