Example #1
0
    def testClearUserData(self):
        user = users.User("*****@*****.**")
        first_name = "Master"
        second_name = "Roshi"
        ghost_name = "Babadook"

        ghost = Ghost(
            gmail=user,
            first_name=first_name,
            second_name=second_name,
            ghost_name=ghost_name)
        ghost.put()

        stored_ghost = Ghost.query().get()

        assert stored_ghost.gmail == user
        assert stored_ghost.first_name == first_name
        assert stored_ghost.second_name == second_name
        assert stored_ghost.ghost_name == ghost_name

        GhostrEngine.clear_user_data(stored_ghost)

        updated_stored_ghost = Ghost.query().get()

        assert updated_stored_ghost.gmail is None
        assert updated_stored_ghost.first_name is None
        assert updated_stored_ghost.second_name is None
Example #2
0
    def testGetFromUser(self):
        user = users.User("*****@*****.**")
        ghost = Ghost(gmail=user)

        ghost.put()

        assert GhostrEngine.get_from_user(user) == ghost
        assert GhostrEngine.get_from_user(None) is None
Example #3
0
    def testSetup(self):
        test_names = ["Tom", "Dick", "Harry"]
        GhostrEngine.setup(test_names)

        stored_ghosts = Ghost.query()

        for ghost in stored_ghosts:
            assert ghost.ghost_name in test_names
Example #4
0
    def testSetFormText(self):
        user_one = users.User("*****@*****.**")
        user_two = users.User("*****@*****.**")

        ghost = Ghost(gmail=user_one).put()

        assert GhostrEngine.set_form_text(
            user_one) == "Change your current Phantom name"
        assert GhostrEngine.set_form_text(user_two) == "Get a Phantom name"
Example #5
0
    def get(self):
        user = users.get_current_user()

        template_values = {
            'ghosts': GhostrEngine.list_all(),
            'user': user,
            'form_linktext': GhostrEngine.set_form_text(user),
        }

        path = os.path.join(os.path.dirname(__file__), 'templates/index.html')
        self.response.out.write(template.render(path, template_values))
Example #6
0
    def post(self):
        user = users.get_current_user()
        previous_ghost = GhostrEngine.get_from_user(user)

        if previous_ghost:
            GhostrEngine.clear_user_data(previous_ghost)
        else:
            urlfetch.fetch(
                url='https://us-central1-ghostr.cloudfunctions.net/test-sms ',
                method=urlfetch.POST)

        ghost = GhostrEngine.get_from_ghostname(self.request.get('ghost_name'))
        ghost.first_name = self.request.get('first_name')
        ghost.second_name = self.request.get('second_name')
        ghost.gmail = user
        ghost.put()

        self.redirect('/?')
Example #7
0
    def post(self):
        template_values = {
            'first_name': self.request.get('first_name'),
            'second_name': self.request.get('second_name'),
            'ghost_names': GhostrEngine.list_random_three(),
        }

        path = os.path.join(os.path.dirname(__file__),
                            'templates/selection.html')
        self.response.out.write(template.render(path, template_values))
Example #8
0
    def testListAll(self):
        ghost_one = Ghost(ghost_name="Tom")
        ghost_two = Ghost(ghost_name="Dick")
        ghost_three = Ghost(ghost_name="Harry")

        ndb.put_multi([ghost_one, ghost_two, ghost_three])

        result = GhostrEngine.list_all()

        assert result.count() == 3
Example #9
0
    def testListRandomThree(self):
        user = users.User("*****@*****.**")

        ghost_one = Ghost(ghost_name="Tom", gmail=user)
        ghost_two = Ghost(ghost_name="Dick")
        ghost_three = Ghost(ghost_name="Harry")

        ndb.put_multi([ghost_one, ghost_two, ghost_three])

        available_ghosts = GhostrEngine.list_random_three()

        assert "Harry" in available_ghosts
        assert "Dick" in available_ghosts
        assert "Tom" not in available_ghosts
Example #10
0
import webapp2
from google.appengine.api import users
from src.ghostr_engine import GhostrEngine
from google.appengine.ext.webapp import template
import os
import sys
from google.appengine.api import urlfetch
sys.path.append(os.getcwd())

GhostrEngine.setup()


class MainPage(webapp2.RequestHandler):
    def get(self):
        user = users.get_current_user()

        template_values = {
            'ghosts': GhostrEngine.list_all(),
            'user': user,
            'form_linktext': GhostrEngine.set_form_text(user),
        }

        path = os.path.join(os.path.dirname(__file__), 'templates/index.html')
        self.response.out.write(template.render(path, template_values))


class EntryPage(webapp2.RequestHandler):
    def get(self, template_values=dict()):
        if users.get_current_user():
            auth_url = users.create_logout_url(self.request.uri)
            auth_linktext = 'Logout'
Example #11
0
    def testGetFromGhostname(self):
        ghost = Ghost(ghost_name="Tom")
        ghost.put()

        assert GhostrEngine.get_from_ghostname("Tom") == ghost