@@ -75,6 +75,12 @@ def _mimic_paused_db_behaviour(self, dbid: str) -> None:
7575 if db and db .status == "paused" :
7676 raise AuraApiError (message = "Database not found" , status_code = 404 )
7777
78+ if db and db .type == "gds" :
79+ raise AuraApiError (
80+ message = f"Database with id `{ db .id } ` of tier `{ db .type } `, which is not supported by sessions." ,
81+ status_code = 400 ,
82+ )
83+
7884 def create_instance (
7985 self , name : str , memory : SessionMemoryValue , cloud_provider : str , region : str
8086 ) -> InstanceCreateDetails :
@@ -221,6 +227,35 @@ def test_list_session_paused_instance(aura_api: AuraApi) -> None:
221227 assert sessions .list () == [SessionInfo .from_session_details (session )]
222228
223229
230+ def test_list_session_gds_instance (aura_api : AuraApi ) -> None :
231+ db = aura_api .create_instance ("test" , SessionMemory .m_8GB .value , "aws" , "leipzig-1" )
232+ fake_aura_api = cast (FakeAuraApi , aura_api )
233+
234+ fake_aura_api .id_counter += 1
235+ gds_instance = InstanceSpecificDetails (
236+ id = "4242" ,
237+ status = "Creating" ,
238+ connection_url = "foo.bar" ,
239+ memory = SessionMemory .m_16GB .value ,
240+ type = "gds" ,
241+ region = "dresden" ,
242+ name = "ds instance" ,
243+ tenant_id = fake_aura_api ._tenant_id ,
244+ cloud_provider = "aws" ,
245+ )
246+ fake_aura_api ._instances [gds_instance .id ] = gds_instance
247+
248+ session = aura_api .create_session (
249+ name = "gds-session-my-session-name" ,
250+ dbid = db .id ,
251+ pwd = "some_pwd" ,
252+ memory = SessionMemory .m_8GB .value ,
253+ )
254+ sessions = DedicatedSessions (aura_api )
255+
256+ assert sessions .list () == [SessionInfo .from_session_details (session )]
257+
258+
224259def test_create_session (mocker : MockerFixture , aura_api : AuraApi ) -> None :
225260 _setup_db_instance (aura_api )
226261
0 commit comments