Java tutorial
/* * Copyright 2014 EMC Corporation. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ package com.emc.atmos.api.test; import com.emc.atmos.api.AtmosConfig; import com.emc.atmos.api.jersey.EsuApiJerseyAdapter; import com.emc.atmos.util.AtmosClientFactory; import com.emc.esu.api.EsuException; import com.emc.esu.api.rest.AbstractEsuRestApi; import com.emc.esu.test.EsuApiTest; import com.emc.test.util.Concurrent; import com.emc.test.util.ConcurrentJunitRunner; import org.apache.commons.codec.binary.Base64; import org.junit.Assert; import org.junit.Assume; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(ConcurrentJunitRunner.class) @Concurrent public class EsuApiJerseyAdapterTest extends EsuApiTest { private AtmosConfig config; public EsuApiJerseyAdapterTest() throws Exception { config = AtmosClientFactory.getAtmosConfig(); Assume.assumeTrue("Could not load Atmos configuration", config != null); uid = config.getTokenId(); config.setDisableSslValidation(true); config.setEnableExpect100Continue(false); config.setEnableRetry(false); esu = new EsuApiJerseyAdapter(config); } /** * Test handling signature failures. Should throw an exception with * error code 1032. */ @Test public void testSignatureFailure() throws Exception { byte[] goodSecret = config.getSecretKey(); String secretStr = new String(Base64.encodeBase64(goodSecret), "UTF-8"); byte[] badSecret = Base64.decodeBase64(secretStr.toUpperCase().getBytes("UTF-8")); try { // Fiddle with the secret key config.setSecretKey(badSecret); testCreateEmptyObject(); Assert.fail("Expected exception to be thrown"); } catch (EsuException e) { Assert.assertEquals("Expected error code 1032 for signature failure", 1032, e.getAtmosCode()); } finally { config.setSecretKey(goodSecret); } } /** * Test general HTTP errors by generating a 404. */ @Test public void testFourOhFour() throws Exception { String goodContext = config.getContext(); try { // Fiddle with the context config.setContext("/restttttttttt"); testCreateEmptyObject(); Assert.fail("Expected exception to be thrown"); } catch (EsuException e) { Assert.assertEquals("Expected error code 404 for bad context root", 404, e.getHttpCode()); } finally { config.setContext(goodContext); } } @Test public void testServerOffset() throws Exception { long offset = ((AbstractEsuRestApi) esu).calculateServerOffset(); l4j.info("Server offset: " + offset + " milliseconds"); } }