/*
* Copyright (C) 2014 Intel Corporation
* All rights reserved.
*/
package com.intel.mtwilson.test;
import com.intel.dcsg.cpg.util.shiro.Login;
import com.intel.mtwilson.My;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import org.junit.BeforeClass;
/**
* Convenience base class for junit tests that call into Mt Wilson business
* logic which may be annotated with required permissions.
*
* Use this base class when you are testing against a remote database with
* existing users.
*
* See also mtwilson-shiro-util test/resources for example shiro-junit.ini and
* example test.properties.
*
* Example content of c:/mtwilson/configuration/test.properties:
* <pre>
* login.username=admin
* login.password=password
* </pre>
*
* Example unit test:
* <pre>
* public void testRetrieveCertificate() throws IOException {
* CertificateRepository certificateRepository = new CertificateRepository();
* CertificateFilterCriteria criteria = new CertificateFilterCriteria();
* criteria.subjectEqualTo = "e1ca94c1-cb01-11df-a441-001517fa99c0";
* CertificateCollection results = certificateRepository.search(criteria);
* Certificate certificate = results.getCertificates().get(0);
* FileUtils.writeByteArrayToFile(new File("./target/certbytes"), certificate.getCertificate());
* certificate.getX509Certificate();
* }
* </pre>
*
* @author jbuhacoff
*/
public class IntegrationTest {
@BeforeClass
public static void login() throws Exception {
String filename = My.filesystem().getConfigurationPath() + File.separator + "test.properties";
File file = new File(filename);
try (FileInputStream in = new FileInputStream(file)) {
Properties properties = new Properties();
properties.load(in);
String username = properties.getProperty("login.username");
String password = properties.getProperty("login.password");
File ini = new File(My.filesystem().getConfigurationPath() + File.separator + "shiro-junit.ini");
Login.existingUser(ini, username, password);
}
}
}