Skip to content

Commit 770ab5f

Browse files
Fix failing tests
1 parent e24e0df commit 770ab5f

File tree

1 file changed

+27
-57
lines changed

1 file changed

+27
-57
lines changed

ee/ephemeral_environments/test/grpc/ephemeral_environments_server_test.exs

Lines changed: 27 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
2424
# Allow the gRPC server process to use this test's DB connection
2525
Ecto.Adapters.SQL.Sandbox.mode(Repo, {:shared, self()})
2626

27-
# Connect to the gRPC server
2827
{:ok, channel} = GRPC.Stub.connect("localhost:#{@grpc_port}")
2928
{:ok, channel: channel}
3029
end
@@ -40,7 +39,6 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
4039
# Create environment types for the test org
4140
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id, name: "Development")
4241
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id, name: "Staging")
43-
4442
# Create environment type for a different org (should not be returned)
4543
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: Ecto.UUID.generate())
4644

@@ -60,10 +58,8 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
6058

6159
test "handles multiple orgs correctly", %{channel: channel} do
6260
org2_id = Ecto.UUID.generate()
63-
6461
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id)
6562
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id)
66-
6763
# Create environment types for org2
6864
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: org2_id)
6965

@@ -112,17 +108,17 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
112108

113109
test "returns not_found error when environment type doesn't exist", %{channel: channel} do
114110
request = %DescribeRequest{id: Ecto.UUID.generate(), org_id: @org_id}
115-
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.describe(channel, request)
116111

112+
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.describe(channel, request)
117113
assert error.status == 5
118114
assert error.message == "Environment type not found"
119115
end
120116

121117
test "returns not_found when querying with wrong org_id", %{channel: channel} do
122118
{:ok, env_type} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id)
123119
request = %DescribeRequest{id: env_type.id, org_id: Ecto.UUID.generate()}
124-
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.describe(channel, request)
125120

121+
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.describe(channel, request)
126122
assert error.status == 5
127123
assert error.message == "Environment type not found"
128124
end
@@ -174,12 +170,14 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
174170
environment_type: %EphemeralEnvironmentType{
175171
org_id: @org_id,
176172
name: "Test",
177-
max_number_of_instances: 1
173+
max_number_of_instances: 1,
174+
created_by: @user_id
178175
}
179176
}
180177

181-
{:error, error} = EphemeralEnvironments.Stub.create(channel, duplicate_request)
182-
assert %GRPC.RPCError{} = error
178+
{:error, %GRPC.RPCError{} = error} =
179+
EphemeralEnvironments.Stub.create(channel, duplicate_request)
180+
183181
assert error.status == 2
184182
assert error.message == "duplicate_name: ephemeral environment name has already been taken"
185183
end
@@ -191,7 +189,8 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
191189
environment_type: %EphemeralEnvironmentType{
192190
org_id: Ecto.UUID.generate(),
193191
name: "Test",
194-
max_number_of_instances: 1
192+
max_number_of_instances: 1,
193+
created_by: @user_id
195194
}
196195
}
197196

@@ -279,28 +278,22 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
279278
end
280279

281280
test "returns not_found when environment type doesn't exist", %{channel: channel} do
282-
non_existent_id = Ecto.UUID.generate()
283-
284281
request = %UpdateRequest{
285282
environment_type: %EphemeralEnvironmentType{
286-
id: non_existent_id,
283+
id: Ecto.UUID.generate(),
287284
org_id: @org_id,
288285
name: "Updated Name",
289286
last_updated_by: @user_id
290287
}
291288
}
292289

293-
assert {:error, %GRPC.RPCError{status: 5, message: "Environment type not found"}} =
294-
EphemeralEnvironments.Stub.update(channel, request)
290+
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.update(channel, request)
291+
assert error.status == 5
292+
assert error.message == "Environment type not found"
295293
end
296294

297295
test "returns not_found when updating with wrong org_id", %{channel: channel} do
298-
{:ok, env_type} =
299-
Factories.EphemeralEnvironmentsType.insert(
300-
org_id: @org_id,
301-
name: "Test Environment"
302-
)
303-
296+
{:ok, env_type} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id, name: "1")
304297
different_org_id = Ecto.UUID.generate()
305298

306299
request = %UpdateRequest{
@@ -312,72 +305,51 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
312305
}
313306
}
314307

315-
assert {:error, %GRPC.RPCError{status: 5, message: "Environment type not found"}} =
316-
EphemeralEnvironments.Stub.update(channel, request)
308+
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.update(channel, request)
309+
assert error.status == 5
310+
assert error.message == "Environment type not found"
317311
end
318312

319313
test "fails validation when updating with duplicate name in same org", %{channel: channel} do
320-
{:ok, env1} =
321-
Factories.EphemeralEnvironmentsType.insert(
322-
org_id: @org_id,
323-
name: "Environment 1"
324-
)
325-
326-
{:ok, env2} =
327-
Factories.EphemeralEnvironmentsType.insert(
328-
org_id: @org_id,
329-
name: "Environment 2"
330-
)
314+
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id, name: "1")
315+
{:ok, env2} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id, name: "2")
331316

332317
# Try to rename env2 to env1's name
333318
request = %UpdateRequest{
334319
environment_type: %EphemeralEnvironmentType{
335320
id: env2.id,
336321
org_id: @org_id,
337-
name: "Environment 1",
322+
name: "1",
338323
last_updated_by: @user_id
339324
}
340325
}
341326

342-
{:error, error} = EphemeralEnvironments.Stub.update(channel, request)
343-
assert %GRPC.RPCError{} = error
344-
# UNKNOWN
327+
{:error, %GRPC.RPCError{} = error} = EphemeralEnvironments.Stub.update(channel, request)
345328
assert error.status == 2
346329
assert error.message == "duplicate_name: ephemeral environment name has already been taken"
347330
end
348331

349332
test "allows updating to same name in different org", %{channel: channel} do
350-
{:ok, env1} =
351-
Factories.EphemeralEnvironmentsType.insert(
352-
org_id: @org_id,
353-
name: "Shared Name"
354-
)
355-
356-
other_org_id = Ecto.UUID.generate()
357-
358-
{:ok, env2} =
359-
Factories.EphemeralEnvironmentsType.insert(
360-
org_id: other_org_id,
361-
name: "Original Name"
362-
)
333+
{:ok, _} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id, name: "1")
334+
org2_id = Ecto.UUID.generate()
335+
{:ok, env2} = Factories.EphemeralEnvironmentsType.insert(org_id: org2_id, name: "2")
363336

364337
# Update env2 to use the same name as env1 (but different org)
365338
request = %UpdateRequest{
366339
environment_type: %EphemeralEnvironmentType{
367340
id: env2.id,
368-
org_id: other_org_id,
369-
name: "Shared Name",
341+
org_id: org2_id,
342+
name: "1",
370343
last_updated_by: @user_id
371344
}
372345
}
373346

374347
assert {:ok, response} = EphemeralEnvironments.Stub.update(channel, request)
375-
assert response.environment_type.name == "Shared Name"
348+
assert response.environment_type.name == "1"
376349
end
377350

378351
test "updates timestamp when updating", %{channel: channel} do
379352
{:ok, env_type} = Factories.EphemeralEnvironmentsType.insert(org_id: @org_id)
380-
381353
# Wait a bit to ensure timestamp changes
382354
:timer.sleep(100)
383355

@@ -396,8 +368,6 @@ defmodule EphemeralEnvironments.Grpc.EphemeralEnvironmentsServerTest do
396368
original_created_at = DateTime.from_naive!(env_type.inserted_at, "Etc/UTC")
397369
response_created_at = DateTime.from_unix!(response.environment_type.created_at.seconds)
398370
assert DateTime.diff(response_created_at, original_created_at, :second) == 0
399-
400-
# updated_at should be recent
401371
assert_recent_timestamp(DateTime.from_unix!(response.environment_type.updated_at.seconds))
402372
end
403373
end

0 commit comments

Comments
 (0)