Example #1
0
 def get(self, **kwargs):
     pin = PinNumber.retrive(kwargs["pin"], "savegame")
     if pin is None:
         self.error(404)
         return
     game = pin.data.get()
     self.response.write(game.log)
Example #2
0
 def get(self, **kwargs):
     pin = PinNumber.retrive(kwargs["pin"], "savegame")
     if pin is None:
         self.error(404)
         return
     game = pin.data.get()
     self.response.write(game.log)
Example #3
0
 def post(self):
     log = self.request.get("json")
     game = SavedGame(log=log)
     game.put()
     pin = PinNumber.generate("savegame", data=game.key, lifetime=24*60*60)
     self.response.write(pin)
     self.response.set_status(201)
Example #4
0
 def test_reuse_expired(self):
     m = mox.Mox()
     m.StubOutWithMock(time, 'time')
     time.time().MultipleTimes().AndReturn(0)
     m.ReplayAll()
     PinNumber.generate(TEST_KEY, lifetime=10)
     PinNumber.generate(TEST_KEY)
     m.VerifyAll()
     self.assertEqual(len(PinNumber.query().fetch()), 2)
     m.StubOutWithMock(PinNumber, 'time')
     PinNumber.time().MultipleTimes().AndReturn(11)
     m.ReplayAll()
     PinNumber.generate(TEST_KEY)
     m.VerifyAll()
     m.UnsetStubs()
     self.assertEqual(len(PinNumber.query().fetch()), 2)
Example #5
0
 def test_reuse_after_removal(self):
     pin_string = PinNumber.generate(TEST_KEY)
     pin = PinNumber.retrive(pin_string)
     self.assertTrue(pin.used)
     pin.free()
     self.assertFalse(pin.used)
     PinNumber.generate(TEST_KEY)
     self.assertEqual(len(PinNumber.query().fetch()), 1)
     PinNumber.generate(TEST_KEY)
     self.assertEqual(len(PinNumber.query().fetch()), 2)
Example #6
0
 def post(self):
     log = self.request.get("json")
     game = SavedGame(log=log)
     game.put()
     pin = PinNumber.generate("savegame",
                              data=game.key,
                              lifetime=24 * 60 * 60)
     self.response.write(pin)
     self.response.set_status(201)
Example #7
0
 def test_auto_free(self):
     pin_string = PinNumber.generate(TEST_KEY)
     pin = PinNumber.retrive(pin_string, key=TEST_KEY, free=True)
     self.assertFalse(pin.used)
     pin = PinNumber.retrive(pin_string)
     self.assertFalse(pin.used)
     pin_string = PinNumber.generate(TEST_KEY)
     pin = PinNumber.retrive(pin_string, key=TEST2_KEY, free=True)
     self.assertIsNone(pin)
     pin = PinNumber.retrive(pin_string)
     self.assertTrue(pin.used)
Example #8
0
 def test_bad_pins(self):
     pin_string = PinNumber.generate(TEST_KEY)
     bad_string = str(int(pin_string) + 1000)
     self.assertIsNone(PinNumber.retrive("101"))
     self.assertIsNone(PinNumber.retrive("axbc"))
     self.assertIsNone(PinNumber.retrive(bad_string))
Example #9
0
 def test_generate_retrive_pin(self):
     pin_string = PinNumber.generate(TEST_KEY)
     self.assertEqual(len(pin_string), 8)
     pin = PinNumber.retrive(pin_string)
     self.assertEqual(pin.data_key, TEST_KEY)