Coverage for microservice_websocket/app/utils/application.py: 92%

19 statements  

« prev     ^ index     » next       coverage.py v7.0.0, created at 2022-12-20 14:31 +0000

1from beanie import PydanticObjectId 

2from beanie.operators import And, Eq 

3 

4from ..services.database import Application, Organization 

5from .exceptions import DuplicateException, NotFoundException 

6 

7 

8async def get_applications(organizationID: str) -> list[Application]: 

9 organization = await Organization.get(PydanticObjectId(organizationID)) 

10 if organization is None: 10 ↛ 11line 10 didn't jump to line 11, because the condition on line 10 was never true

11 raise NotFoundException("Organization") 

12 

13 return await Application.find(Application.organization == organization.id).to_list() 

14 

15 

16async def create_application(organizationID: str, name: str) -> Application: 

17 organization = await Organization.get(PydanticObjectId(organizationID)) 

18 if organization is None: 

19 raise NotFoundException("Organization") 

20 

21 application = await Application.find_one( 

22 And( 

23 Eq(Application.applicationName, name), 

24 Eq(Application.organization, organization.id), 

25 ) 

26 ) 

27 if application is not None: 

28 raise DuplicateException("applicationName") 

29 

30 application = Application( 

31 applicationName=name, organization=PydanticObjectId(organizationID) 

32 ) 

33 await application.save() 

34 

35 return application