def test_func__rights_read_workspace_calendar__fail__as_unauthorized(self): lawrence = DBSession.query(User).filter( User.email == '*****@*****.**' ).one() workspace = WorkspaceApi(lawrence).create_workspace( 'workspace_1', save_now=False ) workspace.calendar_enabled = True DBSession.flush() workspace_calendar_url = CalendarManager.get_workspace_calendar_url( workspace.workspace_id ) transaction.commit() radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient( radicale_base_url, username='******', password='******' ) caldav.Calendar( parent=client, client=client, url=workspace_calendar_url ).events()
def test_func__radicale_auth__fail__as_john_doe(self): radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient( radicale_base_url, username='******', password='******' ) client.propfind()
def test_func__radicale_auth__ok__as_lawrence(self): radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient( radicale_base_url, username='******', password='******' ) client.propfind()
def test_func__rights_read_user_calendar__ok__as_lawrence(self): radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient(radicale_base_url, username='******', password='******') user = DBSession.query(User).filter( User.email == '*****@*****.**').one() user_calendar_url = CalendarManager.get_user_calendar_url(user.user_id) caldav.Calendar(parent=client, client=client, url=user_calendar_url).events()
def test_func__radicale_connectivity__ok__nominal_case(self): radicale_base_url = CalendarManager.get_base_url() try: response = requests.get(radicale_base_url) eq_( response.status_code, 401, 'Radicale http response should be ' '401, its {0}'.format(response.status_code)) except ConnectionError as exc: ok_(False, 'Unable to contact radicale on HTTP: {0}'.format(exc))
def test_func__radicale_connectivity__ok__nominal_case(self): radicale_base_url = CalendarManager.get_base_url() try: response = requests.get(radicale_base_url) eq_(response.status_code, 401, 'Radicale http response should be ' '401, its {0}' .format(response.status_code)) except ConnectionError as exc: ok_(False, 'Unable to contact radicale on HTTP: {0}'.format(exc))
def test_func__rights_read_user_calendar__fail__as_john_doe(self): radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient(radicale_base_url, username='******', password='******') other_user = DBSession.query(User).filter( User.email == '*****@*****.**').one() user_calendar_url = CalendarManager.get_user_calendar_url( other_user.user_id) caldav.Calendar(parent=client, client=client, url=user_calendar_url).events()
def test_func__event_create__ok__nominal_case(self): lawrence = DBSession.query(User).filter( User.email == '*****@*****.**' ).one() radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient( radicale_base_url, username='******', password='******' ) user_calendar_url = CalendarManager.get_user_calendar_url( lawrence.user_id ) user_calendar = caldav.Calendar( parent=client, client=client, url=user_calendar_url ) event_ics = """BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Example Corp.//CalDAV Client//EN BEGIN:VEVENT UID:1234567890 DTSTAMP:20100510T182145Z DTSTART:20100512T170000Z DTEND:20100512T180000Z SUMMARY:This is an event LOCATION:Here END:VEVENT END:VCALENDAR """ user_calendar.add_event(event_ics) user_calendar.save() daemons.execute_in_thread('radicale', lambda: transaction.commit()) # TODO - 20160606 - Bastien: lock should be better here ? time.sleep(3) # Wait for be sure transaction commited in daemon transaction.commit() try: event = DBSession.query(Content) \ .filter(Content.label == 'This is an event') \ .filter(Content.owner_id == lawrence.user_id) \ .filter(Content.id == ContentRevisionRO.content_id) \ .one() except NoResultFound: ok_(False, 'Content record should exist for ' '"This is an event" label') eq_(event.properties['location'], 'Here') eq_(event.properties['start'], '2010-05-12 18:00:00+0000') eq_(event.properties['end'], '2010-05-12 17:00:00+0000')
def test_func__rights_read_user_calendar__fail__as_john_doe(self): radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient( radicale_base_url, username='******', password='******' ) other_user = DBSession.query(User).filter( User.email == '*****@*****.**' ).one() user_calendar_url = CalendarManager.get_user_calendar_url(other_user.user_id) caldav.Calendar( parent=client, client=client, url=user_calendar_url ).events()
def test_func__rights_read_user_calendar__ok__as_lawrence(self): radicale_base_url = CalendarManager.get_base_url() client = caldav.DAVClient( radicale_base_url, username='******', password='******' ) user = DBSession.query(User).filter( User.email == '*****@*****.**' ).one() user_calendar_url = CalendarManager.get_user_calendar_url(user.user_id) caldav.Calendar( parent=client, client=client, url=user_calendar_url ).events()
def index(self): # TODO BS 20160720: S'assurer d'être identifié ! user = tmpl_context.identity.get("user") dictified_current_user = Context(CTX.CURRENT_USER).toDict(user) fake_api = DictLikeClass(current_user=dictified_current_user) user_base_url = CalendarManager.get_user_base_url() workspace_base_url = CalendarManager.get_workspace_base_url() workspace_calendar_urls = CalendarManager.get_workspace_readable_calendars_urls_for_user(user) base_href_url = re.sub(r"^http[s]?://", "", CalendarManager.get_base_url()) # Template will use User.auth_token, ensure it's validity user.ensure_auth_token() return DictLikeClass( fake_api=fake_api, user_base_url=user_base_url, workspace_base_url=workspace_base_url, workspace_clendar_urls=workspace_calendar_urls, auth_token=user.auth_token, base_href_url=base_href_url, )
def index(self): # TODO BS 20160720: S'assurer d'être identifié ! user = tmpl_context.identity.get('user') dictified_current_user = Context(CTX.CURRENT_USER).toDict(user) fake_api = DictLikeClass(current_user=dictified_current_user, ) user_base_url = CalendarManager.get_user_base_url() workspace_base_url = CalendarManager.get_workspace_base_url() workspace_calendar_urls = CalendarManager\ .get_workspace_readable_calendars_urls_for_user(user) base_href_url = \ re.sub(r"^http[s]?://", '', CalendarManager.get_base_url()) # Template will use User.auth_token, ensure it's validity user.ensure_auth_token() return DictLikeClass( fake_api=fake_api, user_base_url=user_base_url, workspace_base_url=workspace_base_url, workspace_clendar_urls=workspace_calendar_urls, auth_token=user.auth_token, base_href_url=base_href_url, )