/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.iwave.ext.netapp; import static org.junit.Assert.assertNotNull; import java.util.List; import java.util.Map; import netapp.manage.NaElement; import org.junit.BeforeClass; import org.junit.Test; import com.iwave.ext.netapp.model.DiskDetailInfo; import com.iwave.ext.netapp.model.ExportsHostnameInfo; import com.iwave.ext.netapp.model.ExportsRuleInfo; import com.iwave.ext.netapp.model.Qtree; import com.iwave.ext.netapp.model.Quota; import com.iwave.ext.netapp.model.SecurityRuleInfo; import com.emc.storageos.services.util.EnvConfig; @SuppressWarnings({ "findbugs:WMI_WRONG_MAP_ITERATOR" }) /* * Code change for iterator will be made in future release */ public class MiscTests { static private volatile NetAppFacade netAppFacade = null; static private volatile Server server = null; private static String host = EnvConfig.get("sanity", "netapp.host"); private static volatile String portNumber = EnvConfig.get("sanity", "netapp.port"); private static volatile String userName = EnvConfig.get("sanity", "netapp.username"); private static String password = EnvConfig.get("sanity", "netapp.password"); @BeforeClass public static void setUpBeforeClass() throws Exception { netAppFacade = new NetAppFacade(host, Integer.parseInt(portNumber), userName, password, false); server = netAppFacade.server; } @Test public void testGetFcWWNN() { String nodeName = netAppFacade.getFcWWNN(); assertNotNull(nodeName); System.out.println("WWNN: " + nodeName); } @Test public void testDiskListInfo() { List<DiskDetailInfo> disks = netAppFacade.listDiskInfo(null, null); for (DiskDetailInfo disk : disks) { assertNotNull(disk.getName()); System.out.println("Disk Name: " + disk.getName()); } } @Test public void testListAggregates() { List<AggregateInfo> aggregates = netAppFacade.listAggregates(null); for (AggregateInfo aggregateInfo : aggregates) { assertNotNull(aggregateInfo.getName()); } } @Test public void testSystemApiList() { NaElement elem = new NaElement("system-api-list"); NaElement resultElem = server.invoke(elem); List<NaElement> systemApiList = resultElem.getChildByName("apis").getChildren(); for (NaElement systemApiInfo : systemApiList) { System.out.println("API " + systemApiInfo.getChildContent("name") + " License: " + systemApiInfo.getChildContent("license")); } } @Test public void testSystemGetInfo() { NaElement result = server.invoke("system-get-info"); NetAppUtils.output(result); } @Test public void iscsiNodeGetName() { NaElement result = server.invoke("iscsi-node-get-name"); NetAppUtils.output(result); } @Test public void testInvokeCliCommand() { String[] args = new String[4]; args[0] = "qtree"; args[1] = "security"; args[2] = "/vol/scottfs"; args[3] = "unix"; String result = netAppFacade.invokeCliCommand(args); System.out.println("QTree Status: " + result); } @Test public void test2() { // NaElement result = server.invoke("nfs-exportfs-list-rules"); // NetAppUtils.output(result); List<ExportsRuleInfo> bla = netAppFacade.listNFSExportRules(null); for (ExportsRuleInfo exportsRuleInfo : bla) { System.out.println("Pathname: " + exportsRuleInfo.getPathname()); System.out.println("Actual Pathname: " + exportsRuleInfo.getActualPathname()); for (SecurityRuleInfo securityRuleInfo : exportsRuleInfo.getSecurityRuleInfos()) { System.out.println(" -- anon: " + securityRuleInfo.getAnon()); System.out.println(" -- nosuid: " + securityRuleInfo.getNosuid()); System.out.println(" -- sec-flavor: " + securityRuleInfo.getSecFlavor()); for (ExportsHostnameInfo exportsHostnameInfo : securityRuleInfo.getReadOnly()) { System.out.println(" ---- ReadOnly: " + exportsHostnameInfo.getAllHosts() + " " + exportsHostnameInfo.getName() + " " + exportsHostnameInfo.getNegate()); } for (ExportsHostnameInfo exportsHostnameInfo : securityRuleInfo.getReadWrite()) { System.out.println(" ---- ReadWrite: " + exportsHostnameInfo.getAllHosts() + " " + exportsHostnameInfo.getName() + " " + exportsHostnameInfo.getNegate()); } for (ExportsHostnameInfo exportsHostnameInfo : securityRuleInfo.getRoot()) { System.out.println(" ---- Root: " + exportsHostnameInfo.getAllHosts() + " " + exportsHostnameInfo.getName() + " " + exportsHostnameInfo.getNegate()); } } } } @Test public void test3() { List<Map<String, String>> bla = netAppFacade.listIscsiInterfaceInfo(null); for (Map<String, String> b : bla) { for (String key : b.keySet()) { System.out.println("iSCSI Interface : " + key + " : " + b.get(key)); } } } @Test public void test4() { String nodeName = netAppFacade.getNodeName(); System.out.println("NODE NAME: " + nodeName); } @Test public void test5() { List<Map<String, String>> bla = netAppFacade.listIscsiInitiatorInfo(); for (Map<String, String> b : bla) { for (String key : b.keySet()) { System.out.println("iSCSI Initiator : " + key + " : " + b.get(key)); } } } @Test public void test6() { List<Map<String, String>> bla = netAppFacade.listWWNs(false); for (Map<String, String> b : bla) { System.out.println("WWN:"); for (String key : b.keySet()) { System.out.println(key + " : " + b.get(key)); } } } @Test public void test7() { List<Map<String, String>> bla = netAppFacade.listIscsiPortalInfo(); for (Map<String, String> b : bla) { System.out.println("iSCSI Portal:"); for (String key : b.keySet()) { System.out.println(" " + key + " : " + b.get(key)); } } } @Test public void test8() { List<Quota> quotas = netAppFacade.listQuotas(); for (Quota quota : quotas) { System.out.println("Quota:"); System.out.println(" quotaTarget: " + quota.getQuotaTarget()); System.out.println(" quotaType: " + quota.getQuotaType()); System.out.println(" volume: " + quota.getVolume()); System.out.println(" qtree: " + quota.getQtree()); System.out.println(" diskUsed: " + quota.getDiskUsed()); System.out.println(" diskLimit: " + quota.getDiskLimit()); System.out.println(" softDiskLimit: " + quota.getSoftDiskLimit()); System.out.println(" threshold: " + quota.getThreshold()); System.out.println(" filesUsed: " + quota.getFilesUsed()); System.out.println(" fileLimit: " + quota.getFileLimit()); System.out.println(" softFileLimit: " + quota.getSoftFileLimit()); System.out.println(" vfiler: " + quota.getVfiler()); } } @Test public void test9() { List<Qtree> qtrees = netAppFacade.listQtrees(); for (Qtree qtree : qtrees) { System.out.println("Qtree:"); System.out.println(" id:" + qtree.getId()); System.out.println(" oplocks:" + qtree.getOplocks()); System.out.println(" owningVfiler:" + qtree.getOwningVfiler()); System.out.println(" qtree:" + qtree.getQtree()); System.out.println(" securityStyle:" + qtree.getSecurityStyle()); System.out.println(" status:" + qtree.getStatus()); System.out.println(" volume:" + qtree.getVolume()); } } }