123456789101112131415161718192021222324252627282930313233343536373839404142 |
- # -*- coding: utf-8 -*-
- #!/usr/bin/env python
- import inspect
- import pytest
- from apps.web.core.db import Searchable
- from apps.web.common.models import UserSearchable
- from testcase.providers import generate_dict
- from apps.web.common import models as common_models
- from apps.web.device import models as device_models
- from apps.web.user import models as user_models
- from apps.web.dealer import models as dealer_models
- from apps.web.agent import models as agent_models
- from apps.web.management import models as management_models
- from common import DisposableModel
- def get_model_classes(*mods):
- results = set()
- for mod in mods:
- for name, obj in inspect.getmembers(mod):
- if ( inspect.isclass(obj)
- and issubclass(obj, Searchable)
- and obj not in (Searchable, UserSearchable)
- #: no abstract model
- and not obj._meta.get('abstract', False)):
- results.add(obj)
- return list(results)
- @pytest.mark.parametrize("model", get_model_classes(common_models, device_models, user_models, dealer_models, agent_models, management_models))
- def test_generate_models(model):
- with DisposableModel(model, **generate_dict(model)) as f:
- assert f
|