@@ -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