Esempio n. 1
0
    def get(self):
        received = 0
        _token = self.request.get("token").encode('ascii', 'ignore')
        eventid = self.request.get("eventid").encode('ascii', 'ignore')
        attend_func = self.request.get("isAttend").encode('ascii', 'ignore')

        if eventid == "":
            received = -1
            self.post(received)
        elif id == "":
            received = -2
            self.post(received)
        else:
            mydb = DAL()
            try:
                int_token = int(_token)
                if mydb.check_token(int_token) is True:  #check if the token is valid
                    if attend_func == "true":
                        self.post(mydb.attend(int_token, int(eventid)))
                    elif attend_func == "false":
                        self.post(mydb.unattend(int_token, int(eventid)))
                else:
                    self.post(-3)
                    return
            except ValueError:
                self.post(3)
Esempio n. 2
0
    def get(self):
        received = 0
        _token = self.request.get("token").encode('ascii', 'ignore')
        eventid = self.request.get("eventid").encode('ascii', 'ignore')
        attend_func = self.request.get("isAttend").encode('ascii', 'ignore')

        if eventid == "":
            received = -1
            self.post(received)
        elif id == "":
            received = -2
            self.post(received)
        else:
            mydb = DAL()
            try:
                int_token = int(_token)
                if mydb.check_token(
                        int_token) is True:  #check if the token is valid
                    if attend_func == "true":
                        self.post(mydb.attend(int_token, int(eventid)))
                    elif attend_func == "false":
                        self.post(mydb.unattend(int_token, int(eventid)))
                else:
                    self.post(-3)
                    return
            except ValueError:
                self.post(3)
Esempio n. 3
0
    def get(self):
        received = False
        _id = self.request.get("id").encode('ascii', 'ignore')
        token = self.request.get("token").encode('ascii', 'ignore')
        if _id == "" or token == "":
            received = False
        else:
            fb = fb_logic()
            if fb.test_id(_id) is False:
                received = 2
            else:
                fb = fb_logic()
                if fb.validate_fb_login(_id, access_token=token) is not False:
                    mydb = DAL()
                    user = fb.validate_fb_login(_id, access_token=token)
                    logging.info(user)
                    try:
                        email = user["email"].encode('ascii', 'ignore')
                    except:
                        email = None
                    received = mydb.set_user_details(
                        fb_id=int(_id),
                        name=user['first_name'].encode('ascii', 'ignore'),
                        last_name=user['last_name'].encode('ascii', 'ignore'),
                        email=email)

                    logging.info("received is " + str(received))
                else:
                    received = -1

        logging.info(received)
        self.post(received)
Esempio n. 4
0
    def get(self):
        email = self.request.get("email")  #.encode('ascii', 'ignore')
        hashed_password = self.request.get("password")
        first_name = self.request.get("firstname")
        last_name = self.request.get("lastname")

        self.mydb = DAL()

        if email is "" or hashed_password is "":
            self.post(-1)
        elif email is not "" and hashed_password is not "":
            isvalid = isValidEmailAddress(email)
            logging.info(isvalid)
            if not isvalid:
                self.post(-4)
            else:
                if first_name is "" and last_name is "":
                    self.login(email, hashed_password)
                else:
                    if first_name is not "" and last_name is "":
                        self.post(-3)
                    elif first_name is "" and last_name is not "":
                        self.post(-2)
                    else:
                        self.register(email, hashed_password, first_name,
                                      last_name)
Esempio n. 5
0
    def get(self):
        received = False
        _id = self.request.get("id").encode('ascii', 'ignore')
        token = self.request.get("token").encode('ascii', 'ignore')
        if _id == "" or token == "":
            received = False
        else:
            fb = fb_logic()
            if fb.test_id(_id) is False:
                received = 2
            else:
                fb = fb_logic()
                if fb.validate_fb_login(_id, access_token=token) is not False:
                    mydb = DAL()
                    user = fb.validate_fb_login(_id, access_token=token)
                    logging.info(user)
                    try:
                        email = user["email"].encode('ascii', 'ignore')
                    except:
                        email = None
                    received = mydb.set_user_details(fb_id=int(_id), name=user['first_name'].encode('ascii', 'ignore'),
                                          last_name=user['last_name'].encode('ascii', 'ignore'),
                                          email=email)

                    logging.info("received is "+ str(received))
                else:
                    received = -1

        logging.info(received)
        self.post(received)
Esempio n. 6
0
 def setUp(self):
     self.testbed = testbed.Testbed()
     self.testbed.activate()
     self.testbed.init_datastore_v3_stub(User)
     self.testbed.init_memcache_stub()
     ndb.get_context().clear_cache()
     self.mydb = DAL()
     self.obj = SearchEventsUsingAPI()
Esempio n. 7
0
 def get(self):
     mydb = DAL()
     token = self.request.get("token")
     if token is "":
         self.post(-1)
     else:
         try:
             json_response = mydb.get_user_by_token(int(token))
             self.post(json_response)
         except ValueError:
             self.post(2)
Esempio n. 8
0
 def get(self):
     mydb = DAL()
     token = self.request.get("token")
     if token is "":
         self.post(-1)
     else:
         try:
             json_response = mydb.get_user_by_token(int(token))
             self.post(json_response)
         except ValueError:
             self.post(2)
 def get(self):
     token = self.request.get("token").encode('ascii', 'ignore')
     if token == "":
         self.post(False)
     else:
         mydb = DAL()
         try:
             int_token = int(token)
             if mydb.check_token(int_token) is not False:
                 reply_json = mydb.get_all_user_events(int_token)
                 self.post(reply_json)
             else:
                 self.post(0)
         except ValueError:
             self.post(2)
Esempio n. 10
0
 def setUp(self):
     # First, create an instance of the Testbed class.
     self.testbed = testbed.Testbed()
     # Then activate the testbed, which prepares the service stubs for use.
     self.testbed.activate()
     # Next, declare which service stubs you want to use.
     self.testbed.init_datastore_v3_stub(User)
     self.testbed.init_memcache_stub()
     # Clear ndb's in-context cache between tests.
     # This prevents data from leaking between tests.
     # Alternatively, you could disable caching by
     # using ndb.get_context().set_cache_policy(False)
     ndb.get_context().clear_cache()
     self.mydb = DAL()
     self.obj = SearchEventsUsingAPI()
Esempio n. 11
0
 def get(self):
     token = self.request.get("token").encode('ascii', 'ignore')
     if token == "":
         self.post(False)
     else:
         mydb = DAL()
         try:
             int_token = int(token)
             if mydb.check_token(int_token) is not False:
                 reply_json = mydb.get_all_user_events(int_token)
                 self.post(reply_json)
             else:
                 self.post(0)
         except ValueError:
             self.post(2)
Esempio n. 12
0
    def get(self):
        firstname = self.request.get("firstname")
        lastname = self.request.get("lastname")
        email = self.request.get("email")
        token = False
        if firstname == "" or lastname == "" or email == "":
            token = -1
        else:
            mydb = DAL()
            logging.info("entring user name:")
            logging.info(firstname)
            logging.info(lastname)
            logging.info(email)

            token = mydb.google_login(email, firstname, lastname)
        self.post(token)
Esempio n. 13
0
    def get(self):
        firstname = self.request.get("firstname")
        lastname = self.request.get("lastname")
        email = self.request.get("email")
        token = False
        if firstname == "" or lastname == "" or email == "":
            token = -1
        else:
            mydb =DAL()
            logging.info("entring user name:")
            logging.info(firstname)
            logging.info(lastname)
            logging.info(email)

            token = mydb.google_login(email, firstname,lastname)
        self.post(token)
Esempio n. 14
0
class APIAttendeesHandler(webapp2.RequestHandler):
    mydb = DAL()

    def get(self):
        reply = -1
        received = False
        eventid = self.request.get("eventid").encode('ascii', 'ignore')
        token = self.request.get("token").encode('ascii', 'ignore')
        fb_token = self.request.get("fbtoken").encode('ascii', 'ignore')
        if eventid == "" or token == "":
            self.post(-1)
        else:
            if fb_token == "":
                fb_token = None

            try:
                int_token = int(token)
                if self.mydb.check_token(int_token) is not False:
                    self.post(
                        self.mydb.get_attendings(int(eventid), int_token,
                                                 fb_token))

                else:
                    self.post(2)

            except ValueError:
                self.post(3)
        '''
        Db Returns:
            JSON containing data
            OR
            1 - No Such ID
            0 - No Attendees
        '''

    def post(self, received):
        if received == -1:
            self.response.set_status(400)
            self.response.write("ERROR: Missing parameters")
            return
        elif received == 1:
            self.response.set_status(401)
            self.response.write("ERROR: No Such event ID")
            return
        elif received == 0:
            self.response.set_status(402)
            self.response.write("ERROR: No Attendees")
            return
        elif received == 2:
            self.response.set_status(403)
            self.response.write("ERROR: Invalid Token")
            return
        elif received == 3:
            self.response.set_status(404)
            self.response.write("ERROR: Invalid token. Should be integer!")
            return
        else:
            self.response.set_status(200)
            self.response.write(received)
            return
Esempio n. 15
0
    def get(self):
        email = self.request.get("email")#.encode('ascii', 'ignore')
        hashed_password = self.request.get("password")
        first_name = self.request.get("firstname")
        last_name = self.request.get("lastname")

        self.mydb = DAL()

        if email is "" or hashed_password is "":
            self.post(-1)
        elif email is not "" and hashed_password is not "":
            isvalid = isValidEmailAddress(email)
            logging.info(isvalid)
            if not isvalid:
                self.post(-4)
            else:
                if first_name is "" and last_name is "":
                    self.login(email, hashed_password)
                else:
                    if first_name is not "" and last_name is "":
                        self.post(-3)
                    elif first_name is "" and last_name is not "":
                        self.post(-2)
                    else:
                        self.register(email, hashed_password, first_name, last_name)
Esempio n. 16
0
 def setUp(self):
     self.testbed = testbed.Testbed()
     self.testbed.activate()
     self.testbed.init_datastore_v3_stub(User)
     self.testbed.init_memcache_stub()
     ndb.get_context().clear_cache()
     self.mydb = DAL()
     self.obj = SearchEventsUsingAPI()
Esempio n. 17
0
    def setUp(self):
        # First, create an instance of the Testbed class.
        self.testbed = testbed.Testbed()
        # Then activate the testbed, which prepares the service stubs for use.
        self.testbed.activate()
        # Next, declare which service stubs you want to use.
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        # Clear ndb's in-context cache between tests.
        # This prevents data from leaking between tests.
        # Alternatively, you could disable caching by
        # using ndb.get_context().set_cache_policy(False)
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()
        event_id = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                               "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        self.ev = event_id.id()

        self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify', '*****@*****.**')
        self.mydb.set_user_details(10204308876621633, 'Olesya', 'Shapira', '*****@*****.**')
        self.mydb.set_user_details(10204308876621644, 'Rita', 'Markovich', '*****@*****.**')
Esempio n. 18
0
 def setUp(self):
     # First, create an instance of the Testbed class.
     self.testbed = testbed.Testbed()
     # Then activate the testbed, which prepares the service stubs for use.
     self.testbed.activate()
     # Next, declare which service stubs you want to use.
     self.testbed.init_datastore_v3_stub(User)
     self.testbed.init_memcache_stub()
     # Clear ndb's in-context cache between tests.
     # This prevents data from leaking between tests.
     # Alternatively, you could disable caching by
     # using ndb.get_context().set_cache_policy(False)
     ndb.get_context().clear_cache()
     self.mydb = DAL()
     self.obj = SearchEventsUsingAPI()
Esempio n. 19
0
    def setUp(self):
        # First, create an instance of the Testbed class.
        self.testbed = testbed.Testbed()
        # Then activate the testbed, which prepares the service stubs for use.
        self.testbed.activate()
        # Next, declare which service stubs you want to use.
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        # Clear ndb's in-context cache between tests.
        # This prevents data from leaking between tests.
        # Alternatively, you could disable caching by
        # using ndb.get_context().set_cache_policy(False)
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()
        event_id = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                               "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        self.ev = event_id.id()

        self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify', '*****@*****.**')
        self.mydb.set_user_details(10204308876621633, 'Olesya', 'Shapira', '*****@*****.**')
        self.mydb.set_user_details(10204308876621644, 'Rita', 'Markovich', '*****@*****.**')
Esempio n. 20
0
class UserDetails(unittest.TestCase):
    def setUp(self):
        # First, create an instance of the Testbed class.
        self.testbed = testbed.Testbed()
        # Then activate the testbed, which prepares the service stubs for use.
        self.testbed.activate()
        # Next, declare which service stubs you want to use.
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        # Clear ndb's in-context cache between tests.
        # This prevents data from leaking between tests.
        # Alternatively, you could disable caching by
        # using ndb.get_context().set_cache_policy(False)
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()

    def test_get_user_details(self):
        id = self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify',
                                        '*****@*****.**')
        self.assertIsNotNone(self.mydb.get_user_details(user_id=id))

    def test_set_name(self):
        id = self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify',
                                        '*****@*****.**')
        self.assertEqual(
            self.mydb.get_user_details(user_id=id)['name'], "Itamar")

    def test_set_event(self):
        self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop",
                                    datetime.now(), "Tel Aviv-Yafo",
                                    "Kiryat Atidim", "long-story-short",
                                    "rika pedro-shoham",
                                    "http://www.meetup.com", 64, "free", "All",
                                    "meetup")
        self.assertTrue(Event.check_event_exist("222342395"))

    def test_get_event_details(self):
        key = self.mydb.set_event_details("222342395",
                                          "Hadoop Ecosystem Workshop",
                                          datetime.now(), "Tel Aviv-Yafo",
                                          "Kiryat Atidim", "long-story-short",
                                          "rika pedro-shoham",
                                          "http://www.meetup.com", 64, "free",
                                          "All", "meetup")
        self.assertIsNotNone(self.mydb.get_event_details(key.id()))

    def test_check_update_event_canceled(self):
        key = self.mydb.set_event_details("222342395",
                                          "Hadoop Ecosystem Workshop",
                                          datetime.now(), "Tel Aviv-Yafo",
                                          "Kiryat Atidim", "long-story-short",
                                          "rika pedro-shoham",
                                          "http://www.meetup.com", 64, "free",
                                          "All", "meetup")
        key = self.mydb.set_event_details("222342395", "Canceled",
                                          datetime.now(), "Tel Aviv-Yafo",
                                          "Kiryat Atidim", "long-story-short",
                                          "rika pedro-shoham",
                                          "http://www.meetup.com", 64, "free",
                                          "All", "meetup")
        results = Event.query(Event.id == "222342395")
        self.assertEqual(results.count(), 1)
        result = results.get()
        self.assertEqual("Canceled", result.name)

    def test_check_update_event_by_same_name(self):
        key = self.mydb.set_event_details("22234666",
                                          "Hadoop Ecosystem Workshop",
                                          datetime.now(), "Tel Aviv-Yafo",
                                          "Kiryat Atidim", "long-story-short",
                                          "rika pedro-shoham",
                                          "http://www.meetup.com", 64, "free",
                                          "All", "meetup")

        key = self.mydb.set_event_details("222342395",
                                          "Hadoop Ecosystem Workshop",
                                          datetime.now(), "Tel Aviv-Yafo",
                                          "Kiryat Atidim", "long-story-short",
                                          "rika pedro-shoham",
                                          "http://www.eventbrite.com", 64,
                                          "free", "All", "evenbrite")

        results = Event.query(Event.name == "Hadoop Ecosystem Workshop")
        self.assertEqual(results.count(), 1)

    def tearDown(self):
        self.testbed.deactivate()
Esempio n. 21
0
class UserDetails(unittest.TestCase):
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()

    def test_check_login_that_already_fb_logged_in(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        token = self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        qry = User.query(User.email == "*****@*****.**")
        print "token", token
        for q in qry:
            print q.first_name , q.last_name, q.email
        self.assertTrue(qry.count() == 1)

    def test_register_new_user(self):
        token = self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        qry = User.query(User.email == "*****@*****.**")
        print "token", token
        for q in qry:
            print q.first_name , q.last_name, q.email
        self.assertTrue(qry.count() == 1)

    def test_error_is_1_on_wrong_password(self):
        self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        res = self.mydb.user_login("*****@*****.**", "12134")
        self.assertEqual(res, 1)

    def test_error_is_false_on_not_existing_email(self):
        self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        res = self.mydb.user_login("*****@*****.**", "1213")
        self.assertFalse(res)

    def test_error_is_2_on_none_password(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        qry = User.query(User.email == "*****@*****.**")
        res = self.mydb.user_login("*****@*****.**", "1213")
        self.assertEqual(res, 2)

    def test_check_token_exist(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        self.assertTrue(self.mydb.check_token(1))

    def test_check_token_not_exist(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        self.assertFalse(self.mydb.check_token(2))

    def test_check_json_for_get_user_by_token(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        print self.mydb.get_user_by_token(1)
        self.assertTrue(json.loads(self.mydb.get_user_by_token(1)))

    def test_check_json_for_get_user_by_token_error(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        res = self.mydb.get_user_by_token(35)
        self.assertEqual(1, res)
Esempio n. 22
0
class UserLoginHandler(webapp2.RequestHandler):
    def get(self):
        email = self.request.get("email")#.encode('ascii', 'ignore')
        hashed_password = self.request.get("password")
        first_name = self.request.get("firstname")
        last_name = self.request.get("lastname")

        self.mydb = DAL()

        if email is "" or hashed_password is "":
            self.post(-1)
        elif email is not "" and hashed_password is not "":
            isvalid = isValidEmailAddress(email)
            logging.info(isvalid)
            if not isvalid:
                self.post(-4)
            else:
                if first_name is "" and last_name is "":
                    self.login(email, hashed_password)
                else:
                    if first_name is not "" and last_name is "":
                        self.post(-3)
                    elif first_name is "" and last_name is not "":
                        self.post(-2)
                    else:
                        self.register(email, hashed_password, first_name, last_name)

    def login(self, email, hashed_password):
        token = self.mydb.user_login(email, hashed_password)
        self.post(token)

    def register(self, email, hashed_password, first_name, last_name):
        token = self.mydb.register(email, hashed_password, first_name, last_name)
        self.post(token)

    def post(self,response):
        self.response.headers.add_header("Access-Control-Allow-Origin", "*")
        self.response.headers['Content-Type'] = 'application/json'
        if response is -4:
            self.response.set_status(403)
            self.response.write("ERROR: Invalid mail")
        elif response is -3:
            self.response.set_status(402)
            self.response.write("ERROR: Missing Last Name")
        elif response is -2:
            self.response.set_status(401)
            self.response.write("ERROR: Missing First Name")
        elif response is -1:
            self.response.set_status(400)
            self.response.write("ERROR: Missing Parameters")
        elif response is False:
            self.response.set_status(501)
            self.response.write("ERROR: User Not Exist")
        elif response is 1:
            self.response.set_status(500)
            self.response.write("ERROR: Wrong Password")
        elif response is 2:
            self.response.set_status(502)
            self.response.write("ERROR: User already exist!")
        else:
            self.response.set_status(200)
            self.response.write(response)
Esempio n. 23
0
class UserLoginHandler(webapp2.RequestHandler):
    def get(self):
        email = self.request.get("email")  #.encode('ascii', 'ignore')
        hashed_password = self.request.get("password")
        first_name = self.request.get("firstname")
        last_name = self.request.get("lastname")

        self.mydb = DAL()

        if email is "" or hashed_password is "":
            self.post(-1)
        elif email is not "" and hashed_password is not "":
            isvalid = isValidEmailAddress(email)
            logging.info(isvalid)
            if not isvalid:
                self.post(-4)
            else:
                if first_name is "" and last_name is "":
                    self.login(email, hashed_password)
                else:
                    if first_name is not "" and last_name is "":
                        self.post(-3)
                    elif first_name is "" and last_name is not "":
                        self.post(-2)
                    else:
                        self.register(email, hashed_password, first_name,
                                      last_name)

    def login(self, email, hashed_password):
        token = self.mydb.user_login(email, hashed_password)
        self.post(token)

    def register(self, email, hashed_password, first_name, last_name):
        token = self.mydb.register(email, hashed_password, first_name,
                                   last_name)
        self.post(token)

    def post(self, response):
        if response is -4:
            self.response.set_status(403)
            self.response.write("ERROR: Invalid mail")
        elif response is -3:
            self.response.set_status(402)
            self.response.write("ERROR: Missing Last Name")
        elif response is -2:
            self.response.set_status(401)
            self.response.write("ERROR: Missing First Name")
        elif response is -1:
            self.response.set_status(400)
            self.response.write("ERROR: Missing Parameters")
        elif response is False:
            self.response.set_status(501)
            self.response.write("ERROR: User Not Exist")
        elif response is 1:
            self.response.set_status(500)
            self.response.write("ERROR: Wrong Password")
        elif response is 2:
            self.response.set_status(502)
            self.response.write("ERROR: User already exist!")
        else:
            self.response.set_status(200)
            self.response.write(response)
Esempio n. 24
0
class UserDetails(unittest.TestCase):
    def setUp(self):
        # First, create an instance of the Testbed class.
        self.testbed = testbed.Testbed()
        # Then activate the testbed, which prepares the service stubs for use.
        self.testbed.activate()
        # Next, declare which service stubs you want to use.
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        # Clear ndb's in-context cache between tests.
        # This prevents data from leaking between tests.
        # Alternatively, you could disable caching by
        # using ndb.get_context().set_cache_policy(False)
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()
        event_id = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                               "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        self.ev = event_id.id()

        self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify', '*****@*****.**')
        self.mydb.set_user_details(10204308876621633, 'Olesya', 'Shapira', '*****@*****.**')
        self.mydb.set_user_details(10204308876621644, 'Rita', 'Markovich', '*****@*****.**')

    def test_get_attendings_after_attend(self):
        self.mydb.attend(2, self.ev)
        self.mydb.attend(3, self.ev)
        self.mydb.attend(4, self.ev)
        res1 = self.mydb.get_attendings(self.ev, 4)
        self.assertTrue(json.loads(res1))

    def test_get_attendings_after_unattend(self):
        self.mydb.attend(2, self.ev)
        self.mydb.unattend(2, self.ev)
        res1 = self.mydb.get_attendings(self.ev, 4)
        self.assertEqual(res1, '[]')

    def _test_get_attendings_not_my_self(self):
        self.mydb.attend(2, self.ev)
        res1 = self.mydb.get_attendings(self.ev, 2)
        self.assertEqual(res1, '[]')

    def test_attend(self):
        res = self.mydb.attend(2, self.ev)
        self.assertEqual(0, res)

    def test_attend_wrong_user_id_return_1(self):
        res = self.mydb.attend(1, self.ev)
        self.assertTrue(1, res)

    def test_attend_wrong_event_id_return_2(self):
        res = self.mydb.attend(2, 12)
        self.assertTrue(2, res)

    def test_unattend(self):
        self.mydb.attend(2, self.ev)
        res = self.mydb.unattend(2, self.ev)
        self.assertEqual(0, res)

    def test_get_all_user_events(self):
        self.mydb.attend(2, self.ev)
        event_id = self.mydb.set_event_details("2296", "Some Event", datetime.now(),
                                               "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")

        self.mydb.attend(2, event_id.id())
        res = self.mydb.get_all_user_events(2)
        print res
        self.assertTrue(json.loads(res))

    def tearDown(self):
        self.testbed.deactivate()
Esempio n. 25
0
class UserDetails(unittest.TestCase):
    def setUp(self):
        # First, create an instance of the Testbed class.
        self.testbed = testbed.Testbed()
        # Then activate the testbed, which prepares the service stubs for use.
        self.testbed.activate()
        # Next, declare which service stubs you want to use.
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        # Clear ndb's in-context cache between tests.
        # This prevents data from leaking between tests.
        # Alternatively, you could disable caching by
        # using ndb.get_context().set_cache_policy(False)
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()

    def test_get_user_details(self):
        id = self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify', '*****@*****.**')
        self.assertIsNotNone(self.mydb.get_user_details(user_id=id))

    def test_set_name(self):
        id = self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify', '*****@*****.**')
        self.assertEqual(self.mydb.get_user_details(user_id=id)['name'], "Itamar")

    def test_set_event(self):
        self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                    "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        self.assertTrue(Event.check_event_exist("222342395"))

    def test_get_event_details(self):
        key = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                    "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        self.assertIsNotNone(self.mydb.get_event_details(key.id()))

    def test_check_update_event_canceled(self):
        key = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                    "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        key = self.mydb.set_event_details("222342395", "Canceled", datetime.now(),
                                    "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        results = Event.query(Event.id == "222342395")
        self.assertEqual(results.count(), 1)
        result = results.get()
        self.assertEqual("Canceled", result.name)

    def test_check_update_event_by_same_name(self):
        key = self.mydb.set_event_details("22234666", "Hadoop Ecosystem Workshop", datetime.now(),
                                    "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")

        key = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                    "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.eventbrite.com", 64, "free", "All", "evenbrite")

        results = Event.query(Event.name == "Hadoop Ecosystem Workshop")
        self.assertEqual(results.count(), 1)

    def tearDown(self):
        self.testbed.deactivate()
Esempio n. 26
0
class UserDetails(unittest.TestCase):
    def setUp(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()

    def test_check_login_that_already_fb_logged_in(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        token = self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        qry = User.query(User.email == "*****@*****.**")
        print "token", token
        for q in qry:
            print q.first_name , q.last_name, q.email
        self.assertTrue(qry.count() == 1)

    def test_register_new_user(self):
        token = self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        qry = User.query(User.email == "*****@*****.**")
        print "token", token
        for q in qry:
            print q.first_name , q.last_name, q.email
        self.assertTrue(qry.count() == 1)

    def test_error_is_1_on_wrong_password(self):
        self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        res = self.mydb.user_login("*****@*****.**", "12134")
        self.assertEqual(res, 1)

    def test_error_is_false_on_not_existing_email(self):
        self.mydb.register("*****@*****.**", "12134", "Itamar", "Sharify")
        res = self.mydb.user_login("*****@*****.**", "1213")
        self.assertFalse(res)

    def test_error_is_2_on_none_password(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        qry = User.query(User.email == "*****@*****.**")
        res = self.mydb.user_login("*****@*****.**", "1213")
        self.assertEqual(res, 2)

    def test_check_token_exist(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        self.assertTrue(self.mydb.check_token(1))

    def test_check_token_not_exist(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        self.assertFalse(self.mydb.check_token(2))

    def test_check_json_for_get_user_by_token(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        print self.mydb.get_user_by_token(1)
        self.assertTrue(json.loads(self.mydb.get_user_by_token(1)))

    def test_check_json_for_get_user_by_token_error(self):
        self.mydb.set_user_details(12, "Itamar", "Sharify", "*****@*****.**")
        res = self.mydb.get_user_by_token(35)
        self.assertEqual(1, res)
Esempio n. 27
0
class UserDetails(unittest.TestCase):
    def setUp(self):
        # First, create an instance of the Testbed class.
        self.testbed = testbed.Testbed()
        # Then activate the testbed, which prepares the service stubs for use.
        self.testbed.activate()
        # Next, declare which service stubs you want to use.
        self.testbed.init_datastore_v3_stub(User)
        self.testbed.init_memcache_stub()
        # Clear ndb's in-context cache between tests.
        # This prevents data from leaking between tests.
        # Alternatively, you could disable caching by
        # using ndb.get_context().set_cache_policy(False)
        ndb.get_context().clear_cache()
        self.mydb = DAL()
        self.obj = SearchEventsUsingAPI()
        event_id = self.mydb.set_event_details("222342395", "Hadoop Ecosystem Workshop", datetime.now(),
                                               "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")
        self.ev = event_id.id()

        self.mydb.set_user_details(10204308876621622, 'Itamar', 'Sharify', '*****@*****.**')
        self.mydb.set_user_details(10204308876621633, 'Olesya', 'Shapira', '*****@*****.**')
        self.mydb.set_user_details(10204308876621644, 'Rita', 'Markovich', '*****@*****.**')

    def test_get_attendings_after_attend(self):
        self.mydb.attend(2, self.ev)
        self.mydb.attend(3, self.ev)
        self.mydb.attend(4, self.ev)
        res1 = self.mydb.get_attendings(self.ev, 4)
        self.assertTrue(json.loads(res1))

    def test_get_attendings_after_unattend(self):
        self.mydb.attend(2, self.ev)
        self.mydb.unattend(2, self.ev)
        res1 = self.mydb.get_attendings(self.ev, 4)
        self.assertEqual(res1, '[]')

    def _test_get_attendings_not_my_self(self):
        self.mydb.attend(2, self.ev)
        res1 = self.mydb.get_attendings(self.ev, 2)
        self.assertEqual(res1, '[]')

    def test_attend(self):
        res = self.mydb.attend(2, self.ev)
        self.assertEqual(0, res)

    def test_attend_wrong_user_id_return_1(self):
        res = self.mydb.attend(1, self.ev)
        self.assertTrue(1, res)

    def test_attend_wrong_event_id_return_2(self):
        res = self.mydb.attend(2, 12)
        self.assertTrue(2, res)

    def test_unattend(self):
        self.mydb.attend(2, self.ev)
        res = self.mydb.unattend(2, self.ev)
        self.assertEqual(0, res)

    def test_get_all_user_events(self):
        self.mydb.attend(2, self.ev)
        event_id = self.mydb.set_event_details("2296", "Some Event", datetime.now(),
                                               "Tel Aviv-Yafo",  "Kiryat Atidim", "long-story-short", "rika pedro-shoham", "http://www.meetup.com", 64, "free", "All", "meetup")

        self.mydb.attend(2, event_id.id())
        res = self.mydb.get_all_user_events(2)
        print res
        self.assertTrue(json.loads(res))

    def tearDown(self):
        self.testbed.deactivate()