@Test(expected = IllegalArgumentException.class) public void createKeyWithoutSecurityToken() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, false /* isSignViewer */, ImmutableMap.<String, String>of()); replay(authInfo); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)); cache.createKey(request); }
@Test public void createKeySimpleImageRequest() throws Exception { // Mock the Request with Image Resize (Quality) params, without rewrite mimeType. HttpRequest request = getMockImageRequest("100", "80", "70", false, null, "Mozilla"); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, IMAGE_URI) .setLegacyParam(1, AuthType.NONE) .setParam("rh", "100") .setParam("rw", "80") .setParam("rq", "70") .setParam("ua", "Mozilla"); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySimpleImageRequest() throws Exception { // Mock the Request with Image Resize (Quality) params, without rewrite mimeType. HttpRequest request = getMockImageRequest("100", "80", "70", false, null, "Mozilla"); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, IMAGE_URI) .setLegacyParam(1, AuthType.NONE) .setParam("rh", "100") .setParam("rw", "80") .setParam("rq", "70") .setParam("ua", "Mozilla"); assertEquals(key.build(), cache.createKey(request)); }
@Test(expected = IllegalArgumentException.class) public void createKeyWithoutSecurityToken() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, false /* isSignViewer */, ImmutableMap.<String, String>of()); replay(authInfo); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)); cache.createKey(request); }
@Test public void createKeyImageRequestRewrite() throws Exception { // Mock the Request with Image Resize (Quality) params and specified rewrite mimeType. HttpRequest request = getMockImageRequest("100", "80", "70", true, "image/jpg", "Mozilla"); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, IMAGE_URI) .setLegacyParam(1, AuthType.NONE) .setParam("rh", "100") .setParam("rw", "80") .setParam("rq", "70") .setParam("ne", "1") .setParam("rm", "image/jpg") .setParam("ua", "Mozilla"); assertEquals(key.build(), cache.createKey(request)); }
@Test(expected = IllegalArgumentException.class) public void createKeyWithoutSecurityToken() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, false /* isSignViewer */, ImmutableMap.<String, String>of()); replay(authInfo); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)); cache.createKey(request); }
@Test public void createKeyImageRequestRewrite() throws Exception { // Mock the Request with Image Resize (Quality) params and specified rewrite mimeType. HttpRequest request = getMockImageRequest("100", "80", "70", true, "image/jpg", "Mozilla"); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, IMAGE_URI) .setLegacyParam(1, AuthType.NONE) .setParam("rh", "100") .setParam("rw", "80") .setParam("rq", "70") .setParam("ne", "1") .setParam("rm", "image/jpg") .setParam("ua", "Mozilla"); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySignedViewer() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( false /* isSignOwner */, true /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME)); replay(authInfo); String viewerId = "viewer eye dee"; SecurityToken securityToken = new BasicSecurityToken( "", viewerId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(3, null) // The Viewer ID is in this case defaults to null .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySignedViewer() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( false /* isSignOwner */, true /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME)); replay(authInfo); String viewerId = "viewer eye dee"; SecurityToken securityToken = new BasicSecurityToken( "", viewerId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(3, null) // The Viewer ID is in this case defaults to null .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySignedViewer() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( false /* isSignOwner */, true /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME)); replay(authInfo); String viewerId = "viewer eye dee"; SecurityToken securityToken = new BasicSecurityToken( "", viewerId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(3, null) // The Viewer ID is in this case defaults to null .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySignedOwner() throws Exception { // Using a mock instead of a fake object makes the test less brittle if the interface should // change. RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, false /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME)); replay(authInfo); String ownerId = "owner eye dee"; SecurityToken securityToken = new BasicSecurityToken(ownerId, "", "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(2, ownerId) .setLegacyParam(3, "") .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeyWithTokenOwner() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, true /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME, "OAUTH_USE_TOKEN", "always")); replay(authInfo); String userId = "user id"; SecurityToken securityToken = new BasicSecurityToken( userId, userId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(2, userId) .setLegacyParam(3, userId) .setLegacyParam(4, userId) .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySignedOwner() throws Exception { // Using a mock instead of a fake object makes the test less brittle if the interface should // change. RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, false /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME)); replay(authInfo); String ownerId = "owner eye dee"; SecurityToken securityToken = new BasicSecurityToken(ownerId, "", "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(2, ownerId) .setLegacyParam(3, "") .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeyWithTokenOwner() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, true /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME, "OAUTH_USE_TOKEN", "always")); replay(authInfo); String userId = "user id"; SecurityToken securityToken = new BasicSecurityToken( userId, userId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(2, userId) .setLegacyParam(3, userId) .setLegacyParam(4, userId) .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeySignedOwner() throws Exception { // Using a mock instead of a fake object makes the test less brittle if the interface should // change. RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, false /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME)); replay(authInfo); String ownerId = "owner eye dee"; SecurityToken securityToken = new BasicSecurityToken(ownerId, "", "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(2, ownerId) .setLegacyParam(3, "") .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }
@Test public void createKeyWithTokenOwner() throws Exception { RequestAuthenticationInfo authInfo = newMockAuthInfo( true /* isSignOwner */, true /* isSignViewer */, ImmutableMap.of("OAUTH_SERVICE_NAME", SERVICE_NAME, "OAUTH_TOKEN_NAME", TOKEN_NAME, "OAUTH_USE_TOKEN", "always")); replay(authInfo); String userId = "user id"; SecurityToken securityToken = new BasicSecurityToken( userId, userId, "", "", APP_URI.toString(), MODULE_ID, CONTAINER_NAME, null, null); HttpRequest request = new HttpRequest(DEFAULT_URI) .setAuthType(AuthType.SIGNED) .setOAuthArguments(new OAuthArguments(authInfo)) .setSecurityToken(securityToken); CacheKeyBuilder key = new CacheKeyBuilder() .setLegacyParam(0, DEFAULT_URI) .setLegacyParam(1, AuthType.SIGNED) .setLegacyParam(2, userId) .setLegacyParam(3, userId) .setLegacyParam(4, userId) .setLegacyParam(5, APP_URI) .setLegacyParam(6, MODULE_ID) .setLegacyParam(7, SERVICE_NAME) .setLegacyParam(8, TOKEN_NAME); assertEquals(key.build(), cache.createKey(request)); }