コード例 #1
0
ファイル: test_application.py プロジェクト: zhoudaqing/huskar
def test_create_application_cache_invalidation(db, test_team):
    assert Application.get_by_name('bar') is None
    assert len(Application.get_multi_by_team(test_team.id)) == 0
    assert len(Application.get_all()) == 0

    Application.create('bar', test_team.id)

    assert Application.get_by_name('bar') is not None
    assert len(Application.get_multi_by_team(test_team.id)) == 1
    assert len(Application.get_all()) == 1
コード例 #2
0
ファイル: test_application.py プロジェクト: zhoudaqing/huskar
def test_delete_application(db, test_user, test_team, test_application,
                            test_application_auth):
    assert Application.get_by_name(
        test_application.application_name) is test_application
    assert Application.get_multi_by_team(test_team.id) == [test_application]
    assert Application.get_all() == [test_application]

    Application.delete(test_application.id)

    assert Application.get_by_name(test_application.application_name) is None
    assert Application.get_multi_by_team(test_team.id) == []
    assert Application.get_all() == []
    assert ApplicationAuth.get(test_application_auth.id) is None
コード例 #3
0
ファイル: test_application.py プロジェクト: zhoudaqing/huskar
def test_archive_application(db, test_user, test_team, test_application,
                             test_application_auth):
    instance = Application.get_by_name(test_application.application_name)
    assert instance is test_application
    assert Application.get_multi_by_team(test_team.id) == [test_application]
    assert Application.get_all() == [test_application]

    test_application.archive()

    assert Application.get_by_name(test_application.application_name) is None
    assert Application.get_multi_by_team(test_team.id) == []
    assert Application.get_all() == []
    assert ApplicationAuth.find(Authority.READ, test_user.id,
                                test_application.id) is not None
コード例 #4
0
ファイル: organization.py プロジェクト: zhoudaqing/huskar
    def get(self, team_name=None):
        """Gets the team list or application list.

        While ``team_name`` is specified, the application list in specified
        team will be responded. Otherwise, the team list will be responded.

        The response of team list looks like::

            {
              "status": "SUCCESS",
              "message": "",
              "data": {
                "teams": [{"name": "team-1", "desc": "team-1"},
                          {"name": "team-2"}, "desc": "team-1"]
              }
            }

        And the response of application list looks like::

            {
              "status": "SUCCESS",
              "message": "",
              "data": {
                "applications": ["base.foo", "base.bar"]
              }
            }

        :param team_name: The name of specified team.
        :<header Authorization: Huskar Token (See :ref:`token`)
        :status 404: The team with specified name is not found.
        :status 200: The team list or application list is responded.
        """
        if team_name:
            if g.auth.is_minimal_mode:
                if team_name != Team.DEFAULT_NAME:
                    abort(404, 'team "%s" does not exist' % team_name)
                applications = application_manifest.as_list()
            else:
                team = self._get_team_or_404(team_name)
                applications = Application.get_multi_by_team(team.id)
                applications = [x.application_name for x in applications]
            data = {'applications': applications}
        else:
            if g.auth.is_minimal_mode:
                data = {'teams': [{'name': Team.DEFAULT_NAME,
                                   'desc': Team.DEFAULT_NAME}]}
            else:
                teams = Team.get_all()
                data = {'teams': [{'name': x.team_name, 'desc': x.team_desc}
                                  for x in teams]}
        return api_response(data)
コード例 #5
0
ファイル: test_application.py プロジェクト: zhoudaqing/huskar
def test_get_application_list_by_team(db, test_application, test_team):
    application_list = Application.get_multi_by_team(test_team.id)
    assert application_list == [test_application]