package com.intel.mtwilson.ms.business; //import com.fasterxml.jackson.annotation.JsonInclude; //import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.PropertyNamingStrategy; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax.security.cert.CertificateException; import org.apache.commons.codec.binary.Base64; import org.junit.Test; import com.intel.mtwilson.datatypes.ApiClientCreateRequest; import com.intel.mtwilson.datatypes.ApiClientInfo; import com.intel.mtwilson.datatypes.ApiClientSearchCriteria; import com.intel.mtwilson.datatypes.Role; import java.util.HashSet; import java.util.List; public class ApiClientBOTest { private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(ApiClientBOTest.class); @Test public void getApiClientList() { ApiClientSearchCriteria apiSearchObj = new ApiClientSearchCriteria(); apiSearchObj.enabledEqualTo = true; ApiClientBO clientBO = new ApiClientBO(); List<ApiClientInfo> searchResult = clientBO.search(apiSearchObj); for (ApiClientInfo apiObj : searchResult) System.out.println(apiObj.name); } @Test public void testCreate() throws CertificateException, IOException { try { ApiClientCreateRequest apiClientRequest = new ApiClientCreateRequest(); apiClientRequest.setCertificate(readCertificate("C:/work/temp/mw-0.5.2-integration-new/services/ManagementService/src/test/java/com/intel/mountwilson/ms/business/206.cer").getBytes()); apiClientRequest.setRoles(new String[]{Role.Security.toString()}); new ApiClientBO().create(apiClientRequest); } catch (Exception e) { e.printStackTrace(); } } public static String readCertificate(String fileName) throws CertificateException, IOException { javax.security.cert.X509Certificate cert = javax.security.cert.X509Certificate .getInstance(readfile(fileName)); return "-----BEGIN CERTIFICATE-----\n" + new String(Base64.encodeBase64(cert.getEncoded(),true)) + "-----END CERTIFICATE-----"; } public static byte[] readfile(String fileName) throws IOException { InputStream fStream = null; try { int fileLength = (int) new File(fileName).length(); fStream = new FileInputStream(fileName); byte[] fileContents = new byte[fileLength]; fStream.read(fileContents); return fileContents; }finally{ try { fStream.close(); } catch (IOException e) { System.out.println("Error while closing stream" +e.getMessage()); } } } // @JacksonXmlRootElement(localName="user_comment") // @JsonInclude(JsonInclude.Include.NON_EMPTY) // jackson 2.0 // @JsonIgnoreProperties(ignoreUnknown=true) public static class UserComment { public HashSet<String> roles = new HashSet<>(); } private ObjectMapper createDefaultMapper() { YAMLFactory yamlFactory = new YAMLFactory(); yamlFactory.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false); yamlFactory.configure(JsonParser.Feature.AUTO_CLOSE_SOURCE, false); ObjectMapper mapper = new ObjectMapper(yamlFactory); mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy()); return mapper; } @Test public void testRequestedRolesInComment() throws JsonProcessingException { UserComment comment = new UserComment(); comment.roles.add("Attestation"); comment.roles.add("Whitelist"); ObjectMapper mapper = createDefaultMapper(); log.debug(mapper.writeValueAsString(comment)); } }