1 #
2 # CDDL HEADER START
3 #
4 # The contents of this file are subject to the terms of the
5 # Common Development and Distribution License (the "License").
6 # You may not use this file except in compliance with the License.
7 #
8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 # or http://www.opensolaris.org/os/licensing.
10 # See the License for the specific language governing permissions
11 # and limitations under the License.
12 #
13 # When distributing Covered Code, include this CDDL HEADER in each
14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 # If applicable, add the following below this CDDL HEADER, with the
16 # fields enclosed by brackets "[]" replaced with your own identifying
17 # information: Portions Copyright [yyyy] [name of copyright owner]
18 #
19 # CDDL HEADER END
20 #
21
22 #
23 # Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 # Use is subject to license terms.
25 #
26 # ident "@(#)tp_disable_004.ksh 1.3 08/06/11 SMI"
27 #
28
29 #
30 # Disable test case
31 #
32
33 #__stc_assertion_start
34 #
35 #ID: disable004
36 #
37 #DESCRIPTION:
38 #
39 # Disable/enable specific multiple groups with multiple shares each
40 #
41 #STRATEGY:
42 #
43 # Setup:
44 # - Create first share group with default properties.
45 # - Populate first group with one share.
46 # - Create second (control) share group with default properties.
47 # - Populate second group with one share.
48 # Test:
49 # - Disable first group.
50 # - Verify that second group is still enabled.
51 # - Enable first group.
52 # - Verify that second group is still enabled.
53 # Cleanup:
54 # - Delete any shares created
55 # - Delete any groups created
56 #
57 # STRATEGY_NOTES:
58 # - * Legacy methods will be used so long as they are still
59 # present.
60 # - Return status is checked for all share-related commands
61 # executed.
62 # - For all commands that modify the share configuration, the
63 # associated reporting commands will be executed and output
64 # checked to verify the expected changes have occurred.
65 #
66 #KEYWORDS:
67 #
68 # disable/enable
69 #
70 #TESTABILITY: explicit
71 #
72 #AUTHOR: andre.molyneux@sun.com
73 #
74 #REVIEWERS: TBD
75 #
76 #TEST_AUTOMATION_LEVEL: automated
77 #
78 #CODING_STATUS: COMPLETE
79 #
80 #__stc_assertion_end
81 function disable004 {
82 tet_result PASS
83 tc_id="disable004"
84 tc_desc="Disable/enable specific multiple groups with multiple shares each"
85 cmd_list=""
86 unset GROUPS
87 print_test_case $tc_id - $tc_desc
88 #
89 # Setup
90 #
91 # Create and populate share groups we will disable/enable
92 create ${TG[0]}
93 add_share POS ${TG[0]} "" ${MP[0]}
94 add_share POS ${TG[0]} "" ${MP[1]}
95 create ${TG[1]}
96 add_share POS ${TG[1]} "" ${MP[2]}
97 add_share POS ${TG[1]} "" ${MP[3]}
98
99 #
100 # Create and populate 'control' share group that will not be
101 # enabled/disabled. NOTE: If this test case is enabled, the add_share
102 # command below will fail because ${MP[2]} has already been added to
103 # ${TG[1]}.
104 #
105 create ${TG[2]}
106 add_share POS ${TG[2]} "" ${MP[4]}
107
108 #
109 # Perform disable/enable operations
110 #
111 # Disable ${TG[0]} & ${TG[1]} and verify the states have
112 # changed. (Dry run first then the real thing.)
113 disable POS "-n" ${TG[0]} ${TG[1]}
114 disable POS "" ${TG[0]} ${TG[1]}
115
116 # Verify that ${TG[2]} is still enabled
117 verify_group_state ${TG[2]}
118
119 # Enable test groups 1 & 2 and verify the states have changed. (Dry
120 # run first then the real thing.)
121 enable POS "-n" ${TG[0]} ${TG[1]}
122 enable POS "" ${TG[0]} ${TG[1]}
123
124 # Verify that ${TG[2]} is still enabled
125 verify_group_state ${TG[2]}
126
127 #
128 # Cleanup
129 #
130 # Delete all test groups
131 delete_all_test_groups
132 report_cmds $tc_id POS
133 }