Skip to content

Commit 6fab487

Browse files
author
Charles Larivier
committed
feat: add import statements on resources in top-level package
1 parent db97486 commit 6fab487

File tree

8 files changed

+39
-9
lines changed

8 files changed

+39
-9
lines changed

metabase/__init__.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from metabase.metabase import Metabase
2-
from metabase.resources.database import Database
32
from metabase.resources.user import User
4-
from metabase.resources.permission import PermissionGroup, PermissionMembership
5-
from metabase.resources.collection import Collection
6-
3+
from metabase.resources.permission_group import PermissionGroup
4+
from metabase.resources.permission_membership import PermissionMembership
5+
from metabase.resources.table import Table
6+
from metabase.resources.segment import Segment
7+
from metabase.resources.metric import Metric

metabase/resources/table.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from metabase.resources.field import Field
88
from metabase.missing import MISSING
99
from metabase.resources.metric import Metric
10-
from resources.segment import Segment
10+
from metabase.resources.segment import Segment
1111

1212

1313
class Dimension(Resource):

tests/resources/test_metric.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ def tearDown(self) -> None:
1010
for metric in metrics:
1111
metric.archive()
1212

13+
def test_import(self):
14+
"""Ensure Metric can be imported from Metabase."""
15+
from metabase import Metric
16+
self.assertIsNotNone(Metric())
17+
1318
def test_list(self):
1419
"""Ensure Metric.list returns a list of Metric instances."""
1520
# fixture

tests/resources/test_permission_group.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ def tearDown(self) -> None:
1212
# can't delete default groups
1313
group.delete()
1414

15+
def test_import(self):
16+
"""Ensure PermissionGroup can be imported from Metabase."""
17+
from metabase import PermissionGroup
18+
self.assertIsNotNone(PermissionGroup())
19+
1520
def test_list(self):
1621
"""Ensure PermissionGroup.list returns a list of PermissionGroup instances."""
1722
groups = PermissionGroup.list()

tests/resources/test_permission_membership.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ class PermissionMembershipTests(IntegrationTestCase):
88
def tearDown(self) -> None:
99
memberships = PermissionMembership.list()
1010
for membership in memberships:
11-
if membership.membership_id not in (1, 2):
12-
# can't delete default memberships
11+
if membership.group_id not in (1, 2):
12+
# can't delete memberships in the default groups
1313
membership.delete()
1414

1515
groups = PermissionGroup.list()
@@ -18,12 +18,16 @@ def tearDown(self) -> None:
1818
# can't delete default groups
1919
group.delete()
2020

21+
def test_import(self):
22+
"""Ensure PermissionMembership can be imported from Metabase."""
23+
from metabase import PermissionMembership
24+
self.assertIsNotNone(PermissionMembership())
25+
2126
def test_list(self):
2227
"""Ensure PermissionMembership.list returns a list of PermissionMembership instances."""
2328
memberships = PermissionMembership.list()
24-
2529
self.assertIsInstance(memberships, list)
26-
self.assertEqual(2, len(memberships)) # there are 2 default groups in Metabase
30+
self.assertTrue(len(memberships) > 0)
2731
self.assertTrue(all([isinstance(m, PermissionMembership) for m in memberships]))
2832

2933
def test_create(self):

tests/resources/test_segment.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ def tearDown(self) -> None:
1010
for segment in segments:
1111
segment.archive()
1212

13+
def test_import(self):
14+
"""Ensure Segment can be imported from Metabase."""
15+
from metabase import Segment
16+
self.assertIsNotNone(Segment())
17+
1318
def test_list(self):
1419
"""Ensure Segment.list returns a list of Segment instances."""
1520
# fixture

tests/resources/test_table.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ class TableTests(IntegrationTestCase):
99
def setUp(self) -> None:
1010
super(TableTests, self).setUp()
1111

12+
def test_import(self):
13+
"""Ensure Table can be imported from Metabase."""
14+
from metabase import Table
15+
self.assertIsNotNone(Table())
16+
1217
def test_list(self):
1318
"""Ensure Table.list() returns a list of Table instances."""
1419
tables = Table.list()

tests/resources/test_user.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ def tearDown(self) -> None:
1313
if user.id != 1:
1414
user.delete()
1515

16+
def test_import(self):
17+
"""Ensure User can be imported from Metabase."""
18+
from metabase import User
19+
self.assertIsNotNone(User())
20+
1621
def test_get(self):
1722
"""
1823
Ensure User.get() returns a User instance for a given ID, or

0 commit comments

Comments
 (0)