コード例 #1
0
ファイル: tests.py プロジェクト: marcelcaraciolo/Lembreteiro
    def testWelcomeAuthentication(self):
        step = 2
        userkey = self.userkey
        msg = "Marcel"
        value1 = ""
        user = ""

        # Caso 1: Usuario Chegando pela primeira vez no Lembreteiro.
        if userkey:
            query = UserTalk.gql("WHERE userkey= :Userkey", Userkey=userkey)
            users = query.fetch(1)
            if users:
                if step == 1:
                    self.assertTrue(users == None)
            else:
                # Sem o usuario cadastrado.
                if step == 1:
                    # Usuario nao existe entao vamos cadastrar.
                    r = self.bot.speak(
                        userkey,
                        "Ola, seja bem vindo ao Lembreteiro: seu Assistente de Lembretes virtual. \
                        Percebo que eh a sua primeira vez aqui. Pode me informar seu nome ? (Digite apenas seu *nome*) ",
                    )
                    step = 2  # self.response.out.write('<goto=2>')
                    self.assertEquals(r, True)
                    self.assertEquals(len(UserTalk.gql("WHERE userkey= :Userkey", Userkey=userkey).fetch(1)), 0)
                elif step == 2:
                    # Vamos receber o seu nome.
                    username = msg
                    r = self.bot.speak(
                        userkey,
                        "Ola %s , seja bem vindo ao Lembreteiro: seu Assistente de Lembretes virtual." % username,
                    )
                    self.assertEquals(r, True)
                    usr = UserTalk(userkey=userkey, username=username, ativo=False)
                    usr.put()
                    r = self.bot.speak(
                        userkey,
                        "Para iniciar a sua agenda, precisamos que voce sincronize sua agenda com Google Calendar. Por favor acesse esta url: %s"
                        % GetAuthSubUrl(userkey),
                    )
                    self.assertEquals(r, True)
                    step = 3  # self.response.out.write('<goto=3>')
コード例 #2
0
ファイル: tests.py プロジェクト: marcelcaraciolo/Lembreteiro
    def test_authentication_sucess(self):
        token = "teste"
        userkey = self.userkey

        usr = UserTalk(userkey=userkey, username="******", ativo=False)
        usr.put()

        query = UserTalk.gql("WHERE userkey= :Userkey", Userkey=userkey)
        users = query.fetch(1)
        if users:
            for user in users:
                db.run_in_transaction(update_attribute, user.key(), "ativo", True)
                db.run_in_transaction(update_attribute, user.key(), "token", token)
                # self.bot.speak(userkey,'Sua conta foi sincronizada com sucesso. Voce esta pronto para usar! Use nosso *help* (Digite help) sempre que precisar de auxilio!')

        query = UserTalk.gql("WHERE userkey= :Userkey", Userkey=userkey)
        users = query.fetch(1)

        self.assertEquals(users[0].ativo, True)
        self.assertEquals(users[0].username, "marcel")
        self.assertEquals(users[0].token, "teste")

        c_handler = CalendarManager()
        start = datetime.now() + timedelta(hours=4)  # timezone from Brasilia
        end = start + timedelta(days=1)
        end = datetime(year=end.year, month=end.month, day=end.day, second=0, minute=0, hour=3)
        result = c_handler.dateQuery(start.strftime("%Y-%m-%dT%H:%M:%S"), end.strftime("%Y-%m-%dT%H:%M:%S"))
        msg_boas_vindas = (
            "Voce tem %d atividades pendentes para hoje! Gostaria de lista-las aqui ? (Sim ou Nao)" % len(result.entry)
            if len(result.entry) > 0
            else "Voce tem %d atividades pendentes para hoje!" % len(result.entry)
        )
        r = self.bot.speak(userkey, msg_boas_vindas)
        self.assertEquals(r, True)
        if len(result.entry) > 0:
            step = 3  # self.response.out.write('<goto=2>')
        else:
            step = 4  # self.response.out.write('<goto=4>')