Revision 9096ffbb snf-astakos-app/astakos/test/views.py

b/snf-astakos-app/astakos/test/views.py
33 33

  
34 34
from datetime import datetime, timedelta
35 35

  
36
from astakos.im.models import AstakosUser, ProjectApplication
36
from astakos.im.models import AstakosUser, Project
37 37
from astakos.im.functions import (join_project, leave_project,
38 38
                                  submit_application, approve_application,
39
                                  get_user_by_id, check_pending_app_quota,
39
                                  check_pending_app_quota,
40 40
                                  ProjectForbidden)
41 41
from snf_django.lib.db.transaction import commit_on_success_strict
42 42

  
43 43

  
44 44
@commit_on_success_strict()
45
def join(proj_id, user_id):
46
    join_project(proj_id, get_user_by_id(user_id))
45
def join(proj_id, user):
46
    return join_project(proj_id, user)
47 47

  
48 48

  
49 49
@commit_on_success_strict()
50
def leave(proj_id, user_id):
51
    leave_project(proj_id, get_user_by_id(user_id))
50
def leave(memb_id, request_user):
51
    return leave_project(memb_id, request_user)
52 52

  
53 53

  
54 54
@commit_on_success_strict()
55
def submit(name, user_id, prec):
55
def submit(name, user_id, project_id=None):
56 56
    try:
57 57
        owner = AstakosUser.objects.get(id=user_id)
58 58
    except AstakosUser.DoesNotExist:
59 59
        raise AttributeError('user does not exist')
60 60

  
61
    precursor = (ProjectApplication.objects.get(id=prec)
62
                 if prec is not None
63
                 else None)
64

  
65
    ok, limit = check_pending_app_quota(owner, precursor=precursor)
61
    project = (Project.objects.get(id=project_id) if project_id is not None
62
               else None)
63
    ok, limit = check_pending_app_quota(owner, project=project)
66 64
    if not ok:
67 65
        raise ProjectForbidden('Limit %s reached', limit)
68 66

  
69
    resource_policies = [('cyclades.network.private', 5)]
67
    resource_policies = {'cyclades.network.private': {'member_capacity': 5}}
70 68
    data = {'owner': owner,
71 69
            'name': name,
72
            'precursor_id': prec,
70
            'project_id': project_id,
73 71
            'end_date': datetime.now() + timedelta(days=1),
74 72
            'member_join_policy': 1,
75 73
            'member_leave_policy': 1,
76
            'resource_policies': resource_policies,
74
            'resources': resource_policies,
77 75
            'request_user': owner
78 76
            }
79 77

  
80 78
    app = submit_application(**data)
81
    return app.id
79
    return app.id, app.chain_id
82 80

  
83 81

  
84 82
@commit_on_success_strict()

Also available in: Unified diff