Coverage for netbox_data_import/graphql/filters.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.16.0, created at 2026-09-09 20:50 +0000

1# SPDX-License-Identifier: Apache-2.0 

2# Copyright (C) 2025 Marcin Zieba <marcinpsk@gmail.com> 

3 

4"""GraphQL filter input for import profiles.""" 

5 

6import strawberry_django 

7 

8from netbox_data_import.models import ImportProfile 

9 

10_FILTER_BASE_MODULE = "netbox.graphql.filters" 

11 

12 

13try: 

14 from netbox.graphql.filters import NetBoxModelFilter 

15except ModuleNotFoundError as exc: # pragma: no cover 

16 missing = exc.name or "" 

17 if missing != _FILTER_BASE_MODULE and not _FILTER_BASE_MODULE.startswith(f"{missing}."): 

18 raise 

19 ImportProfileFilter = None 

20else: # pragma: no cover 

21 

22 @strawberry_django.filter_type(ImportProfile, lookups=True) 

23 class ImportProfileFilter(NetBoxModelFilter): # type: ignore[no-redef] 

24 """Filter profiles by their imported configuration fields.""" 

25 

26 name: strawberry_django.StrFilterLookup | None = strawberry_django.filter_field() 

27 description: strawberry_django.StrFilterLookup | None = strawberry_django.filter_field() 

28 source_adapter: strawberry_django.StrFilterLookup | None = strawberry_django.filter_field() 

29 

30 

31__all__ = ("ImportProfileFilter",)