src/tests/cli/t_pkg_property.py
author Rich Burridge <rich.burridge@sun.com>
Mon, 30 Nov 2009 13:01:40 -0800
changeset 1516 8c950a3b4171
parent 926 6ee411c9026a
child 1715 8f305f0a6864
permissions -rw-r--r--
10485 move pkg(5) to Python 2.6 10482 upgrade to cherrypy 3.1.2 11836 shebang line for python modules should be python version-agnostic 11950 ldtp used by pkg build process not setup to easily use Python 2.6 11989 pkg python dependency analysis tests fail
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1516
8c950a3b4171 10485 move pkg(5) to Python 2.6
Rich Burridge <rich.burridge@sun.com>
parents: 926
diff changeset
     1
#!/usr/bin/python
581
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     2
#
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     3
# CDDL HEADER START
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     4
#
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     8
#
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    11
# See the License for the specific language governing permissions
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    12
# and limitations under the License.
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    13
#
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    19
#
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    20
# CDDL HEADER END
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    21
#
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    22
926
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    23
#
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    24
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
581
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    25
# Use is subject to license terms.
926
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    26
#
581
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    27
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    28
import testutils
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    29
if __name__ == "__main__":
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    30
	testutils.setup_environment("../../../proto")
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    31
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    32
import unittest
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    33
import os
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    34
import re
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    35
import shutil
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    36
import difflib
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    37
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    38
class TestPkgInfoBasics(testutils.SingleDepotTestCase):
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    39
        # Only start/stop the depot once (instead of for every test)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    40
        persistent_depot = True
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    41
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    42
        def test_pkg_properties(self):
792
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    43
                """pkg: set, unset, and display properties"""
581
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    44
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    45
                durl = self.dc.get_depot_url()
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    46
                self.image_create(durl)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    47
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    48
		self.pkg("set-property -@", exit=2)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    49
                self.pkg("get-property -@", exit=2)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    50
                self.pkg("property -@", exit=2)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    51
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    52
                self.pkg("set-property title sample")
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    53
                self.pkg('set-property description "more than one word"')
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    54
                self.pkg("property")
611
e2a9af3f81ab 4131 "pkg property" prints only headers
Tom Mueller <Tom.Mueller@sun.com>
parents: 581
diff changeset
    55
                self.pkg("property | grep title")
e2a9af3f81ab 4131 "pkg property" prints only headers
Tom Mueller <Tom.Mueller@sun.com>
parents: 581
diff changeset
    56
                self.pkg("property | grep description")
e2a9af3f81ab 4131 "pkg property" prints only headers
Tom Mueller <Tom.Mueller@sun.com>
parents: 581
diff changeset
    57
                self.pkg("property | grep 'sample'")
e2a9af3f81ab 4131 "pkg property" prints only headers
Tom Mueller <Tom.Mueller@sun.com>
parents: 581
diff changeset
    58
                self.pkg("property | grep 'more than one word'")
581
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    59
                self.pkg("unset-property description")
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    60
                self.pkg("property -H")
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    61
                self.pkg("property title")
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    62
                self.pkg("property -H title")
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    63
                self.pkg("property description", exit=1)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    64
                self.pkg("unset-property description", exit=1)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    65
                self.pkg("unset-property", exit=2)
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    66
709
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    67
        def test_missing_permssions(self):
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    68
                """Bug 2393"""
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    69
                durl = self.dc.get_depot_url()
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    70
                self.image_create(durl)
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    71
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    72
                self.pkg("property")
834
f8b3396500b3 4883 import failure for non-sunos platforms due to missing pspawn
Tom Mueller <Tom.Mueller@sun.com>
parents: 792
diff changeset
    73
                self.pkg("set-property require-optional True", su_wrap=True, exit=1)
709
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    74
                self.pkg("set-property require-optional True")
834
f8b3396500b3 4883 import failure for non-sunos platforms due to missing pspawn
Tom Mueller <Tom.Mueller@sun.com>
parents: 792
diff changeset
    75
                self.pkg("unset-property require-optional", su_wrap=True, exit=1)
709
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    76
                self.pkg("unset-property require-optional")
cfb249e57576 2393 traceback when attempting to change client settings without permission
Brock Pytlik <bpytlik@sun.com>
parents: 611
diff changeset
    77
792
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    78
        def test_bug_4372(self):
926
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    79
                """Verify that preferred-publisher cannot be changed using the
792
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    80
                property commands, but can be read."""
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    81
                durl = self.dc.get_depot_url()
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    82
                self.image_create(durl)
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    83
926
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    84
                self.pkg("set-property preferred-publisher foo", exit=1)
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    85
                self.pkg("unset-property preferred-publisher", exit=1)
6ee411c9026a 5871 publisher apis desired
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 834
diff changeset
    86
                self.pkg("property preferred-publisher")
792
060a802056a4 4372 property set commands should display error for preferred-authority property
Shawn Walker <Shawn.Walker@Sun.COM>
parents: 709
diff changeset
    87
581
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    88
if __name__ == "__main__":
faca6a8e7366 3125 CLI test restructuring
erik.lafever@sun.com
parents:
diff changeset
    89
        unittest.main()