From fe44a18d955b29cc3869bf72d968060c5f2b6dc6 Mon Sep 17 00:00:00 2001 From: Andrew Dryga Date: Tue, 4 Jul 2023 10:05:40 -0600 Subject: [PATCH] Fix flaky tests --- .../auth/adapters/openid_connect_test.exs | 29 ++++++++++++------- .../web/controllers/auth_controller_test.exs | 2 +- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/elixir/apps/domain/test/domain/auth/adapters/openid_connect_test.exs b/elixir/apps/domain/test/domain/auth/adapters/openid_connect_test.exs index 225732056..a0d5053d8 100644 --- a/elixir/apps/domain/test/domain/auth/adapters/openid_connect_test.exs +++ b/elixir/apps/domain/test/domain/auth/adapters/openid_connect_test.exs @@ -104,16 +104,25 @@ defmodule Domain.Auth.Adapters.OpenIDConnectTest do assert {:ok, authorization_uri, {state, verifier}} = authorization_uri(provider, "https://example.com/") - assert authorization_uri == - "http://localhost:#{bypass.port}/authorize" <> - "?access_type=offline" <> - "&client_id=#{provider.adapter_config["client_id"]}" <> - "&code_challenge=#{Domain.Auth.Adapters.OpenIDConnect.PKCE.code_challenge(verifier)}" <> - "&code_challenge_method=S256" <> - "&redirect_uri=https%3A%2F%2Fexample.com%2F" <> - "&response_type=code" <> - "&scope=openid+email+profile" <> - "&state=#{state}" + uri = URI.parse(authorization_uri) + uri_query = URI.decode_query(uri.query) + + assert uri.scheme == "http" + assert uri.host == "localhost" + assert uri.port == bypass.port + assert uri.path == "/authorize" + + assert uri_query == %{ + "access_type" => "offline", + "client_id" => provider.adapter_config["client_id"], + "code_challenge" => + Domain.Auth.Adapters.OpenIDConnect.PKCE.code_challenge(verifier), + "code_challenge_method" => "S256", + "redirect_uri" => "https://example.com/", + "response_type" => "code", + "scope" => "openid email profile", + "state" => state + } assert is_binary(state) assert is_binary(verifier) diff --git a/elixir/apps/web/test/web/controllers/auth_controller_test.exs b/elixir/apps/web/test/web/controllers/auth_controller_test.exs index 3aad05ff5..5f6b6a453 100644 --- a/elixir/apps/web/test/web/controllers/auth_controller_test.exs +++ b/elixir/apps/web/test/web/controllers/auth_controller_test.exs @@ -217,7 +217,7 @@ defmodule Web.AuthControllerTest do "/#{account.id}/sign_in/providers/#{provider.id}/verify_sign_in_token" assert email.text_body =~ "#{verify_sign_in_token_path}" - assert email.text_body =~ "identity_id=#{identity.id}&secret=" + assert email.text_body =~ "identity_id=#{identity.id}" assert email.text_body =~ "secret=" end)