package org.infinispan.server.test.security.rest; import static org.infinispan.server.test.client.rest.RESTHelper.KEY_A; import static org.infinispan.server.test.client.rest.RESTHelper.KEY_B; import static org.infinispan.server.test.client.rest.RESTHelper.KEY_C; import org.apache.http.HttpStatus; import org.infinispan.server.test.client.rest.RESTHelper; /** * @author <a href="mailto:vchepeli@redhat.com">Vitalii Chepeliuk</a> * @since 7.0 * */ public abstract class AbstractBasicSecurity { private static final String TEST_USER_NAME = "testuser"; //password encoded as is stored in application-users.properties on the server private static final String TEST_USER_PASSWORD = "testpassword"; private static final String KEY_D = "d"; protected RESTHelper rest; protected void securedReadWriteOperations() throws Exception { rest.setCredentials(TEST_USER_NAME, TEST_USER_PASSWORD); rest.put(rest.fullPathKey(KEY_A), "data", "application/text", HttpStatus.SC_OK); rest.clearCredentials(); rest.put(rest.fullPathKey(KEY_B), "data", "application/text", HttpStatus.SC_UNAUTHORIZED); rest.setCredentials(TEST_USER_NAME, TEST_USER_PASSWORD); rest.post(rest.fullPathKey(KEY_C), "data", "application/text", HttpStatus.SC_OK); rest.clearCredentials(); rest.post(rest.fullPathKey(KEY_D), "data", "application/text", HttpStatus.SC_UNAUTHORIZED); rest.get(rest.fullPathKey(KEY_A), HttpStatus.SC_UNAUTHORIZED); rest.setCredentials(TEST_USER_NAME, TEST_USER_PASSWORD); rest.get(rest.fullPathKey(KEY_A), "data"); rest.clearCredentials(); rest.head(rest.fullPathKey(KEY_A), HttpStatus.SC_UNAUTHORIZED); rest.setCredentials(TEST_USER_NAME, TEST_USER_PASSWORD); rest.head(rest.fullPathKey(KEY_A), HttpStatus.SC_OK); rest.clearCredentials(); rest.delete(rest.fullPathKey(KEY_A), HttpStatus.SC_UNAUTHORIZED); rest.setCredentials(TEST_USER_NAME, TEST_USER_PASSWORD); rest.delete(rest.fullPathKey(KEY_A), HttpStatus.SC_OK); rest.delete(rest.fullPathKey(KEY_C), HttpStatus.SC_OK); rest.clearCredentials(); } }