示例#1
0
 def test_createEventValues(self):
     event0 = event.createEvent("cool hat", 1, event.EventType.NOTE)
     self.assertEqual(event0.name, "cool hat")
     event1 = event.createEvent("cooler hat", 1, event.EventType.REMINDER, description="A very cool hat", start_time=datetime.datetime.utcnow())
     self.assertEqual(event1.description, "A very cool hat")
     event2 = event.createEvent("Best hat", 1, event.EventType.NOTE, parent=1)
     self.assertEqual(event2.parent, event.Event.query.filter_by(id=1).first())
def create_or_edit():
    """Create or update an event. If id is passed as a a query parameter then update
       the event corresponding to that query parameter.
    """
    error = None
    if request.method == 'POST':
        id = request.form.get('id')
        id = int(id) if id else None
        # Edit or create the event based on whether we have an id and also
        # the type of event that we have.
        name = request.form.get('name')
        owner = getUser(current_username()).id
        event_type = EventType(int(request.form.get('event_type')))
        description = request.form['description']
        startTime = momentToPyDatetime(
            request.form['start_time']
        ) if event_type == EventType.EVENT or event_type == EventType.REMINDER else None
        endTime = momentToPyDatetime(
            request.form['end_time']
        ) if event_type == EventType.EVENT else None
        password = request.form[
            'event_password'] if event_type == event_type.ENCRYPTED else None

        if id:
            editEvent(id,
                      name=name,
                      owner=owner,
                      event_type=event_type,
                      description=description,
                      start_time=startTime,
                      end_time=endTime,
                      password=password)
        else:
            createEvent(name=name,
                        owner=owner,
                        event_type=event_type,
                        description=description,
                        start_time=startTime,
                        end_time=endTime,
                        password=password)
        return redirect(url_for('events.index'))

    # Get an event if we are editing an event
    id = request.args.get('id')
    event = None
    if id:
        event = getEventById(int(id))
        if event.event_type == EventType.ENCRYPTED and not checkCachedEncrypted(
                event):
            #If this encrypted event hasn't had its password entered already, then send back to event page
            return redirect(url_for('events.index'))

    return render_template('events_create.html',
                           event=event,
                           username=current_username(),
                           EventType=EventType,
                           error=error,
                           checkCachedEncrypted=checkCachedEncrypted)
示例#3
0
 def test_remove(self):
     event0 = event.createEvent("quick Note", 1, event.EventType.NOTE)
     event.removeEvent(event0)
     self.assertIsNone(event.Event.query.filter_by(id=event0.id).first())
     event0 = event.createEvent("quick Note2", 1, event.EventType.NOTE)
     event.removeEvent(event0.id)
     self.assertIsNone(event.Event.query.filter_by(id=event0.id).first())
     event.removeEvent(event.Event.query.filter_by(name="Tie my shoe").first())
     self.assertIsNone(event.Event.query.filter_by(name="Raid Area 51").first())
示例#4
0
 def test_edit(self):
     event0 = event.createEvent("quick Note", 2, event.EventType.NOTE)
     updatedEvent = event.editEvent(event0, name="new name")
     self.assertEqual(event0.id, updatedEvent.id)
     self.assertEqual(updatedEvent.name, "new name")
     self.assertRaises(ValueError, lambda: event.editEvent(event0, name=""))
     event0 = event.createEvent("secrete", 2, event.EventType.ENCRYPTED, description="stuff and thigns", password="******")
     self.assertRaises(TypeError, lambda: event.editEvent(event0, description="ahh"))
     event0 = event.editEvent(event0, description="ahh", password="******")
     self.assertEqual("ahh", event.decrypt(event0.description, "hmmm"))
 def test_createEventRanges(self):
     self.assertRaises(
         ValueError,
         lambda: event.createEvent(None, 1, event.EventType.NOTE))
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("1" * 61, 1, event.EventType.NOTE))
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("hi", None, event.EventType.NOTE))
     self.assertRaises(ValueError, lambda: event.createEvent("hi", 1, 12))
     self.assertRaises(
         ValueError, lambda: event.createEvent(
             "hi", 1, event.EventType.NOTE, parent=50))
def generatePopulateDB():
    generateDB()
    user.addUser(username="******",
                 password="******",
                 name="name",
                 email="*****@*****.**")
    user.addUser(username="******", password="******", name="testname")
    user.addUser(username="******",
                 password="******",
                 name="Jeff jeff",
                 email="*****@*****.**")
    user.addUser(username="******", password="******")
    event.createEvent(name="Wake up",
                      owner=user.getUser("test").id,
                      event_type=event.EventType.REMINDER,
                      start_time=datetime.datetime.now())
    event.createEvent(name="Rocks",
                      owner=user.getUser("Jeff").id,
                      description="Granit, Bassalt, Quartz",
                      event_type=event.EventType.NOTE)
    event.createEvent(name="Short party",
                      owner=user.getUser("username").id,
                      event_type=event.EventType.EVENT,
                      start_time=datetime.datetime.now(),
                      end_time=datetime.datetime.now() +
                      datetime.timedelta(hours=3))
    event.createEvent(
        name="Secrets",
        owner=user.getUser("test").id,
        event_type=event.EventType.ENCRYPTED,
        password="******",
        description=
        "Some passwords, SSNs, creditcard numbers, and otherthings you shouldn't trust this app with"
    )
    event.createPage(name="test page",
                     owner=user.getUser("test"),
                     description="This is a test page")
    event.createPage(name="test page 2", owner=user.getUser("test"))
    event.createPage(name="Jeffs stuff", owner=user.getUser("Jeff"))
    page1 = event.createPage(name="more thigns",
                             owner=user.getUser("username"))
    event.createEvent(name="its on a page",
                      owner=user.getUser("username").id,
                      event_type=event.EventType.NOTE,
                      page=page1)
示例#7
0
 def test_removeUser(self):
     testPerson = user.User.query.filter_by(username="******").first()
     user.removeUser(testPerson)
     self.assertIsNone(user.User.query.filter_by(username="******").first()) #Test remove by User object
     self.assertIsNotNone(user.User.query.filter_by(username="******").first()) #Ensure random other users where not deleted
     user.removeUser("epicUsername69")
     self.assertIsNone(user.User.query.filter_by(username="******").first()) #Test remove by username
     testPerson = user.User.query.filter_by(username="******").first()
     testEvent = event.createEvent("testEvent", testPerson.id, event.EventType.NOTE)
     self.assertIsNotNone(event.Event.query.filter_by(owner_id=testEvent.id).first())
     user.removeUser(testPerson.id)
     self.assertIsNone(user.User.query.filter_by(username="******").first()) #Test remove by id
     self.assertIsNone(event.Event.query.filter_by(id=testEvent.id).first())
     user.removeUser(testPerson.id) #Make sure error is not thrown for non existent user
 def test_findByUser(self):
     event0 = event.createEvent("quick Note", 2, event.EventType.NOTE)
     self.assertEqual(len(event.getEventByOwner(2)), 1)
     self.assertEqual(len(event.getEventByOwner(user.getUser(1))), 2)
 def test_findById(self):
     event0 = event.createEvent("quick Note", 1, event.EventType.NOTE)
     self.assertEqual(event0, event.getEventById(event0.id))
示例#10
0
 def test_createEventTypes(self):
     event0 = event.createEvent("cool hat", 1, event.EventType.NOTE)
     self.assertEqual(event0.name, "cool hat")
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("hi",
                                   1,
                                   event.EventType.NOTE,
                                   start_time=datetime.datetime.utcnow()))
     event0 = event.createEvent("This is a thing",
                                1,
                                event.EventType.ENCRYPTED,
                                description="Hidden text",
                                password="******")
     self.assertNotEqual(event0.description, "Hidden text")
     self.assertEqual(event.decrypt(event0.description, "mushSecure"),
                      "Hidden text")
     self.assertRaises(
         TypeError, lambda: event.createEvent("encrypted", 1, event.
                                              EventType.ENCRYPTED))
     event0 = event.createEvent("event",
                                1,
                                event.EventType.EVENT,
                                start_time=datetime.datetime.utcnow(),
                                end_time=datetime.datetime.utcnow())
     self.assertEqual(event0.name, "event")
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("event",
                                   1,
                                   event.EventType.EVENT,
                                   start_time=datetime.datetime.utcnow()))
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("event",
                                   1,
                                   event.EventType.EVENT,
                                   end_time=datetime.datetime.utcnow()))
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("event", 1, event.EventType.EVENT))
     event0 = event.createEvent("REMINDER",
                                1,
                                event.EventType.REMINDER,
                                start_time=datetime.datetime.utcnow())
     self.assertEqual(event0.name, "REMINDER")
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("REMINDER",
                                   1,
                                   event.EventType.REMINDER,
                                   start_time=datetime.datetime.utcnow(),
                                   end_time=datetime.datetime.utcnow()))
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("REMINDER",
                                   1,
                                   event.EventType.REMINDER,
                                   end_time=datetime.datetime.utcnow()))
     self.assertRaises(
         ValueError,
         lambda: event.createEvent("REMINDER", 1, event.EventType.REMINDER))
 def test_getAllEvents(self):
     event0 = event.createEvent("a fe eafeafeajjjjjjjjiiiiiiiifeafeaf", 2, event.EventType.NOTE)
     event1 = event.createEvent("ahhhh", 2, event.EventType.NOTE, description="fijeoijfeajjjfe;jseoi")
     self.assertEqual(len(event.getAllEvents("feajjj")), 2)