/* * Copyright (c) 2012. HappyDroids LLC, All rights reserved. */ package com.happydroids.droidtowers.gamestate.server; import com.happydroids.TestHelper; import com.happydroids.droidtowers.NonGLTestRunner; import org.junit.Test; import org.junit.runner.RunWith; import java.io.IOException; import static com.happydroids.droidtowers.Expect.expect; @RunWith(NonGLTestRunner.class) public class TemporaryTokenTest { @Test public void create_shouldReturnATempToken() throws Exception { TestHelper.queueApiResponse("/api/v1/temporarytoken/", "{\"resourceUri\": \"/api/v1/temporarytoken/1/\", \"session\": {\"token\": \"MYSESSIONTOKEN\"}, \"value\": \"TOK3N\"}"); TemporaryToken token = new TemporaryToken(); token.save(); expect(token.getValue()).toEqual("TOK3N"); expect(token.getSessionToken()).toEqual("MYSESSIONTOKEN"); } @Test public void hasSessionToken_shouldReturnFalse_whenTokenIsNull() throws Exception { TestHelper.queueApiResponse("/api/v1/temporarytoken/", "{\"resourceUri\": \"/api/v1/temporarytoken/1/\", \"session\": {\"token\": null}, \"value\": \"TOK3N\"}"); TemporaryToken token = new TemporaryToken(); token.save(); expect(token.getValue()).toEqual("TOK3N"); expect(token.getSessionToken()).toBeNull(); expect(token.hasSessionToken()).toBeFalse(); } @Test public void validate_shouldRequestTokenUpdates() throws IOException { TestHelper.queueApiResponse("/api/v1/temporarytoken/", "{\"resourceUri\": \"/api/v1/temporarytoken/1/\", \"session\": null, \"value\": \"TOK123\"}"); TemporaryToken token = new TemporaryToken(); token.save(); expect(token.getResourceUri()).toEqual("/api/v1/temporarytoken/1/"); expect(token.hasSessionToken()).toBeFalse(); expect(token.getResourceUri()).toEqual("/api/v1/temporarytoken/1/"); TestHelper.queueApiResponse("/api/v1/temporarytoken/1/", "{\"resourceUri\": \"/api/v1/temporarytoken/1/\", \"session\": null, \"value\": \"TOK123\"}"); expect(token.validate()).toBeFalse(); TestHelper.queueApiResponse("/api/v1/temporarytoken/1/", "{\"resourceUri\": \"/api/v1/temporarytoken/1/\", \"session\": {\"token\": \"asdfasdfasdfsd\"}, \"value\": \"TOK123\"}"); expect(token.validate()).toBeTrue(); } }