From c74d447e53d81c84d2182960f00ad2d3191b9cef Mon Sep 17 00:00:00 2001 From: Joel Dodge Date: Tue, 13 Apr 2021 22:06:45 +0000 Subject: [PATCH] fix: add warning about python sdk login_user breaking change in 21.4.0 (#579) --- packages/sdk-codegen/src/python.gen.spec.ts | 15 +++++++++++++++ packages/sdk-codegen/src/python.gen.ts | 12 +++++++++--- python/looker_sdk/sdk/api31/methods.py | 4 ++++ python/looker_sdk/sdk/api40/methods.py | 4 ++++ release-please-config.json | 1 + 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/packages/sdk-codegen/src/python.gen.spec.ts b/packages/sdk-codegen/src/python.gen.spec.ts index a1f3ef462..e11ca65d8 100644 --- a/packages/sdk-codegen/src/python.gen.spec.ts +++ b/packages/sdk-codegen/src/python.gen.spec.ts @@ -75,6 +75,7 @@ DelimSequence = model.DelimSequence # NOTE: Do not edit this file generated by Looker SDK Codegen import datetime from typing import Any, MutableMapping, Optional, Sequence, Union +import warnings from . import models from looker_sdk.rtl import api_methods @@ -409,6 +410,20 @@ return response` transport_options=transport_options ) assert isinstance(response, list) +return response` + const actual = gen.httpCall(indent, method) + expect(actual).toEqual(expected) + }) + it('assert login_user has a warning', () => { + const method = apiTestModel.methods.login_user + const expected = `warnings.warn("login_user behavior changed significantly in 21.4.0. See https://git.io/JOtH1") +response = self.post( + f"/login/{user_id}", + models.AccessToken, + query_params={"associative": associative}, + transport_options=transport_options +) +assert isinstance(response, models.AccessToken) return response` const actual = gen.httpCall(indent, method) expect(actual).toEqual(expected) diff --git a/packages/sdk-codegen/src/python.gen.ts b/packages/sdk-codegen/src/python.gen.ts index b0795786b..d71192f37 100644 --- a/packages/sdk-codegen/src/python.gen.ts +++ b/packages/sdk-codegen/src/python.gen.ts @@ -108,6 +108,7 @@ export class PythonGen extends CodeGen { # ${this.warnEditing()} import datetime from typing import Any, MutableMapping, Optional, Sequence, Union +import warnings from . import models from ${this.packagePath}.rtl import api_methods @@ -401,15 +402,20 @@ ${this.hooks.join('\n')} } result = this.argFill(result, returnType) result = this.argFill(result, `f"${method.endpoint}"`) - return result + return this.bumper(indent) + result } httpCall(indent: string, method: IMethod) { const bump = indent + this.indentStr const args = this.httpArgs(bump, method) - const methodCall = `${indent}response = ${this.it( + let methodCall = `${indent}response = ${this.it( method.httpMethod.toLowerCase() )}` + if (method.name === 'login_user') { + methodCall = + `${indent}warnings.warn("login_user behavior changed significantly ` + + `in 21.4.0. See https://git.io/JOtH1")\n${methodCall}` + } let assertTypeName = this.methodReturnType(method) switch (method.type.className) { case 'ArrayType': @@ -432,7 +438,7 @@ ${this.hooks.join('\n')} const returnStmt = `${indent}return response` return ( `${methodCall}(\n` + - `${bump.repeat(3)}${args}\n` + + `${this.bumper(indent)}${args}\n` + `${indent})\n` + `${assertion}\n` + `${returnStmt}` diff --git a/python/looker_sdk/sdk/api31/methods.py b/python/looker_sdk/sdk/api31/methods.py index 736792013..c2996bb1e 100644 --- a/python/looker_sdk/sdk/api31/methods.py +++ b/python/looker_sdk/sdk/api31/methods.py @@ -26,6 +26,7 @@ # NOTE: Do not edit this file generated by Looker SDK Codegen for Looker 21.4 API 3.1 import datetime from typing import Any, MutableMapping, Optional, Sequence, Union +import warnings from . import models from looker_sdk.rtl import api_methods @@ -111,6 +112,9 @@ def login_user( transport_options: Optional[transport.TransportOptions] = None, ) -> models.AccessToken: """Login user""" + warnings.warn( + "login_user behavior changed significantly in 21.4.0. See https://git.io/JOtH1" + ) response = self.post( f"/login/{user_id}", models.AccessToken, diff --git a/python/looker_sdk/sdk/api40/methods.py b/python/looker_sdk/sdk/api40/methods.py index 2fd443963..d31fb4b62 100644 --- a/python/looker_sdk/sdk/api40/methods.py +++ b/python/looker_sdk/sdk/api40/methods.py @@ -26,6 +26,7 @@ # NOTE: Do not edit this file generated by Looker SDK Codegen for Looker 21.4 API 4.0 import datetime from typing import Any, MutableMapping, Optional, Sequence, Union +import warnings from . import models from looker_sdk.rtl import api_methods @@ -111,6 +112,9 @@ def login_user( transport_options: Optional[transport.TransportOptions] = None, ) -> models.AccessToken: """Login user""" + warnings.warn( + "login_user behavior changed significantly in 21.4.0. See https://git.io/JOtH1" + ) response = self.post( f"/login/{user_id}", models.AccessToken, diff --git a/release-please-config.json b/release-please-config.json index 65bdf7ab4..1698e97dc 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -40,6 +40,7 @@ }, "python": { "release-type": "python", + "release-as": "21.4.1", "draft": true, "package-name": "looker_sdk" }