/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.storageos.isilon.restapi; import java.net.URI; import java.net.URISyntaxException; import java.util.List; import com.emc.storageos.isilon.restapi.IsilonApi.IsilonList; import com.emc.storageos.isilon.restapi.IsilonSyncPolicy.JobState; import com.emc.storageos.services.util.EnvConfig; /* * Test client for IsilonRESTClient */ public class IsilonReplicationApiTest { // private static final Logger _log = // LoggerFactory.getLogger(IsilonReplicationApiTest.class); private static volatile IsilonApi _client; private static volatile IsilonApiFactory _factory = new IsilonApiFactory(); private static String ip = EnvConfig.get("sanity", "isilon.ip"); private static String userName = EnvConfig.get("sanity", "isilon.username"); private static String password = EnvConfig.get("sanity", "isilon.password"); public static void setup() throws URISyntaxException { URI deviceURI = new URI("https", null, ip, 8080, "/", null, null); _factory = new IsilonApiFactory(); _factory.init(); _client = _factory.getRESTClient(deviceURI, userName, password); } public static void testlicenseInfo() throws Exception { System.out.println("Get license info."); System.out.println(" SyncIQ license info: " + _client.getReplicationLicenseInfo()); } // Policy Tests // ************************************************************************* public static void testCreateReplicationPolicy() throws Exception { IsilonSyncPolicy policy = new IsilonSyncPolicy(); policy.setAction(IsilonSyncPolicy.Action.sync); policy.setEnabled(true); policy.setName(""); policy.setSourceRootPath(""); policy.setTargetHost(""); policy.setTargetPath(""); System.out.println("Replication policy: " + policy.toString()); String policyID = _client.createReplicationPolicy(policy); System.out.println("Replication policy: " + policyID); } public static void testGetReplicationPolicy() throws Exception { System.out.println("Get Replication Policy info."); System.out.println(" Replication Policy : " + _client.getReplicationPolicy("testpolicy").toString()); } public static void testGetTargetPolicy() throws Exception { System.out.println("Get Replication Policy info."); System.out.println(" Replication Policy : " + _client.getTargetReplicationPolicy("mudit_policy") .toString()); } public static void testModifyReplicationPolicy() throws Exception { IsilonSyncPolicy policy = new IsilonSyncPolicy(); policy.setName(""); System.out.println("Replication policy: " + policy.toString()); _client.modifyReplicationPolicy("policyID", policy); } public static void testdeleteReplicationPolicy() throws Exception { _client.deleteReplicationPolicy("policyID"); } public static void teststartReplicationJob() throws Exception { IsilonSyncJob job = new IsilonSyncJob(); job.setId("mudit_policy"); String str = _client.modifyReplicationJob(job); System.out.println(str); } public static void testGetReplicationPolicyReport() throws Exception { String errorMessage = ""; List<IsilonSyncPolicyReport> policyReports = _client.getReplicationPolicyReports("mudit_policy").getList(); for (IsilonSyncPolicyReport report : policyReports) { if (report.getState().equals(JobState.failed) || report.getState().equals(JobState.needs_attention)) { errorMessage = report.getErrors()[0]; break; } else { continue; } } System.out.println(errorMessage); } public static void testTargetGetReplicationPolicyReport() throws Exception { // System.out.println(" Replication Policy : " + _client.getReplicationPolicyTargetReport("vasutestrepl").toString()); IsilonList<IsilonSyncPolicyReport> reports = _client.getTargetReplicationPolicyReports("mudit_policy"); // String err[] = report.getErrors(); // System.out.println(err[0]); } public static void main(String args[]) throws Exception { IsilonReplicationApiTest.setup(); // IsilonReplicationApiTest.testlicenseInfo(); // IsilonReplicationApiTest.testGetReplicationPolicy(); // IsilonReplicationApiTest.testCreateReplicationPolicy(); // IsilonReplicationApiTest.testModifyReplicationPolicy(); // IsilonReplicationApiTest.testdeleteReplicationPolicy(); // IsilonReplicationApiTest.testGetTargetPolicy(); // IsilonReplicationApiTest.testGetReplicationPolicyReport(); // IsilonReplicationApiTest.teststartReplicationJob(); } }