Skip to content

Commit 7494309

Browse files
emyllerclaudematthewelwellkhvn26
committed
test: use hardcoded version with x-release-please markers
Update User-Agent header tests to assert exact version string instead of just validating semver format. This approach makes expectations clearer and integrates with release-please for automatic version updates. Changes: - Replace semver validation with exact version assertions - Add x-release-please-start-version/end markers around version strings - Add test/flagsmith_client_test.exs to extra-files in release-please config - Simplify test logic by removing unnecessary string parsing Co-authored-by: Claude (Anthropic AI) <noreply@anthropic.com> Co-authored-by: Matthew Elwell <matthew.elwell@flagsmith.com> Co-authored-by: Kim Gustyr <kim.gustyr@flagsmith.com>
1 parent e7b2ff9 commit 7494309

2 files changed

Lines changed: 16 additions & 11 deletions

File tree

release-please-config.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
"bump-patch-for-minor-pre-major": false,
99
"draft": false,
1010
"prerelease": false,
11-
"include-component-in-tag": false
11+
"include-component-in-tag": false,
12+
"extra-files": [
13+
"test/flagsmith_client_test.exs"
14+
]
1215
}
1316
},
1417
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",

test/flagsmith_client_test.exs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -439,17 +439,20 @@ defmodule Flagsmith.Client.Test do
439439
end
440440

441441
describe "User-Agent header" do
442-
test "user_agent/0 returns valid semver version" do
443-
user_agent = Flagsmith.Client.user_agent()
444-
version_part = String.replace_prefix(user_agent, "flagsmith-elixir-sdk/", "")
442+
test "user_agent/0 returns expected version" do
443+
# x-release-please-start-version
444+
expected_version = "2.2.1"
445+
# x-release-please-end
445446

446-
assert {:ok, parsed} = Version.parse(version_part)
447-
assert is_integer(parsed.major) and parsed.major >= 0
448-
assert is_integer(parsed.minor) and parsed.minor >= 0
449-
assert is_integer(parsed.patch) and parsed.patch >= 0
447+
user_agent = Flagsmith.Client.user_agent()
448+
assert user_agent == "flagsmith-elixir-sdk/#{expected_version}"
450449
end
451450

452-
test "HTTP client includes User-Agent header with valid semver", %{config: config} do
451+
test "HTTP client includes User-Agent header", %{config: config} do
452+
# x-release-please-start-version
453+
expected_version = "2.2.1"
454+
# x-release-please-end
455+
453456
expect(Tesla.Adapter.Mock, :call, fn tesla_env, _options ->
454457
user_agent_header =
455458
Enum.find(tesla_env.headers, fn {header, _} ->
@@ -459,8 +462,7 @@ defmodule Flagsmith.Client.Test do
459462
assert user_agent_header != nil
460463
{_header, user_agent_value} = user_agent_header
461464

462-
version_part = String.replace_prefix(user_agent_value, "flagsmith-elixir-sdk/", "")
463-
assert {:ok, _} = Version.parse(version_part)
465+
assert user_agent_value == "flagsmith-elixir-sdk/#{expected_version}"
464466

465467
{:ok, %Tesla.Env{status: 200, body: Test.Generators.map_env()}}
466468
end)

0 commit comments

Comments
 (0)