Package org.sonatype.nexus.internal.orient

Source Code of org.sonatype.nexus.internal.orient.PbeCompressionTest

/*
* Sonatype Nexus (TM) Open Source Version
* Copyright (c) 2007-2014 Sonatype, Inc.
* All rights reserved. Includes the third-party code listed at http://links.sonatype.com/products/nexus/oss/attributions.
*
* This program and the accompanying materials are made available under the terms of the Eclipse Public License Version 1.0,
* which accompanies this distribution and is available at http://www.eclipse.org/legal/epl-v10.html.
*
* Sonatype Nexus (TM) Professional Version is available from Sonatype, Inc. "Sonatype" and "Sonatype Nexus" are trademarks
* of Sonatype, Inc. Apache Maven is a trademark of the Apache Software Foundation. M2eclipse is a trademark of the
* Eclipse Foundation. All other trademarks are the property of their respective owners.
*/
package org.sonatype.nexus.internal.orient;

import org.sonatype.sisu.goodies.crypto.internal.CryptoHelperImpl;
import org.sonatype.sisu.litmus.testsupport.TestSupport;

import org.junit.Before;
import org.junit.Test;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;

/**
* Tests for {@link PbeCompression}.
*/
public class PbeCompressionTest
  extends TestSupport
{
  private PbeCompression underTest;

  @Before
  public void setUp() throws Exception {
    this.underTest = new PbeCompression(new CryptoHelperImpl(), "password", "salt", "0123456789ABCDEF");
  }

  @Test
  public void encodeAndDecodeDivisibleByEight() {
    encodeAndDecodeBytes(8);
    encodeAndDecodeBytes(80);
  }

  @Test
  public void encodeAndDecodeNotDivisibleByEight() {
    encodeAndDecodeBytes(1);
    encodeAndDecodeBytes(10);
  }

  private void encodeAndDecodeBytes(int numBytes) {
    // build test byte array with values 0 to numBytes - 1
    byte[] testBytes = new byte[numBytes];
    for (byte i = 0x00; i < (byte)numBytes; i++) {
      testBytes[i] = i;
    }

    // encrypting it should return a different array
    byte[] encryptedBytes = underTest.compress(testBytes);
    assertThat(encryptedBytes.length > 0, is(true));
    assertThat(encryptedBytes, not(testBytes));

    // decrypting the encrypted array should return the original array
    byte[] decryptedBytes = underTest.uncompress(encryptedBytes);
    assertThat(decryptedBytes, is(testBytes));
  }
}
TOP

Related Classes of org.sonatype.nexus.internal.orient.PbeCompressionTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.