usr/src/lib/install_transfer/test/test_info.py
author Ginnie Wray<virginia.wray@oracle.com>
Tue, 19 Jun 2012 12:18:37 -0600
changeset 1717 10cb4d15a248
parent 1650 0a799935ac50
child 1755 7b9a3250c069
permissions -rw-r--r--
7066254 Problem with install/logging 7170155 DC leaves log files in /var/tmp/install
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
947
29603af1b942 6999599 Missing shebang lines in python modules leads to incorrect dependency generation
Keith Mitchell <keith.mitchell@oracle.com>
parents: 941
diff changeset
     1
#!/usr/bin/python
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     2
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     3
# CDDL HEADER START
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     4
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     8
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    11
# See the License for the specific language governing permissions
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    12
# and limitations under the License.
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    13
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    19
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    20
# CDDL HEADER END
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    21
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    22
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    23
#
1650
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
    24
# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    25
#
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    26
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    27
'''Tests for the Transfer Info interface'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    28
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    29
import logging
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    30
import os
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    31
import shutil
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    32
import tempfile
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    33
import unittest
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    34
from pkg.client.api import IMG_TYPE_PARTIAL
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    35
from solaris_install.engine import InstallEngine
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    36
from solaris_install.logger import InstallLogger
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    37
from solaris_install.transfer.info import Args
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    38
from solaris_install.transfer.info import CPIOSpec
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    39
from solaris_install.transfer.info import Destination
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    40
from solaris_install.transfer.info import Dir
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    41
from solaris_install.transfer.info import Image
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    42
from solaris_install.transfer.info import ImType
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    43
from solaris_install.transfer.info import IPSSpec
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    44
from solaris_install.transfer.info import Mirror
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    45
from solaris_install.transfer.info import Origin
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    46
from solaris_install.transfer.info import Publisher
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    47
from solaris_install.transfer.info import Software
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    48
from solaris_install.transfer.info import Source
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    49
from solaris_install.transfer.info import SVR4Spec
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    50
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    51
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    52
class TestCPIOInfoFunctions(unittest.TestCase):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    53
    def setUp(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    54
        InstallEngine._instance = None
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    55
        default_log_dir = tempfile.mkdtemp(dir="/tmp", prefix="logging_")
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    56
        default_log = default_log_dir + "/install_log"
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    57
        InstallEngine(default_log)
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    58
        self.engine = InstallEngine.get_instance()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    59
        self.doc = self.engine.data_object_cache.volatile
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    60
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    61
    def tearDown(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    62
        InstallEngine._instance = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    63
        self.engine.data_object_cache.clear()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    64
        self.engine = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    65
        self.doc = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    66
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    67
        try:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    68
            shutil.rmtree(os.path.dirname(
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    69
                InstallLogger.DEFAULTFILEHANDLER.baseFilename))
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    70
        except:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    71
            pass
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    72
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    73
        logging.Logger.manager.loggerDict = {}
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    74
        InstallLogger.DEFAULTFILEHANDLER = None
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
    75
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    76
    def test_info(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    77
        '''Test that all the arguments get into the node correctly'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    78
        soft_node = Software("CPIO transfer test 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    79
        cpio_node = CPIOSpec()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    80
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    81
        dst = Destination()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    82
        path = Dir("/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    83
        dst.insert_children([path])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    84
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    85
        src = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    86
        path = Dir("/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    87
        src.insert_children([path])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    88
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    89
        # first check src and dst
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    90
        soft_node.insert_children([dst, src, cpio_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    91
        self.doc.insert_children([soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    92
        soft_list = self.doc.get_children("CPIO transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    93
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    94
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    95
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    96
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    97
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    98
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
    99
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   100
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   101
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   102
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   103
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   104
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   105
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   106
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   107
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   108
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   109
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   110
                try:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   111
                    args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   112
                except:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   113
                    self.assertTrue(True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   114
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   115
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   116
                self.assertEqual(tr.action, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   117
                self.assertEqual(tr.contents, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   118
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   119
        # set cpio args
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   120
        args = Args({"cpio_args": "-pdm"})
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   121
        cpio_node.insert_children([args])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   122
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   123
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   124
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   125
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   126
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   127
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   128
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   129
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   130
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   131
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   132
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   133
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   134
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   135
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   136
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   137
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   138
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   139
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   140
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   141
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   142
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   143
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   144
                self.assertEqual(args.arg_dict["cpio_args"], "-pdm")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   145
                self.assertEqual(tr.action, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   146
                self.assertEqual(tr.contents, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   147
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   148
        # set file_list content
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   149
        cpio_node.action = "install"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   150
        cpio_node.type = "FILE"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   151
        cpio_node.contents = "/usr/share/tr_file_list"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   152
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   153
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   154
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   155
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   156
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   157
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   158
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   159
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   160
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   161
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   162
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   163
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   164
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   165
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   166
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   167
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   168
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   169
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   170
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   171
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   172
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   173
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   174
                self.assertEqual(args.arg_dict["cpio_args"], "-pdm")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   175
                self.assertEqual(tr.action, "install")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   176
                self.assertEqual(tr.contents, "/usr/share/tr_file_list")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   177
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   178
        # set dir_list
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   179
        cpio_node.action = "install"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   180
        cpio_node.type = "DIR"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   181
        cpio_node.contents = "/usr/share/tr_dir_list"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   182
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   183
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   184
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   185
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   186
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   187
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   188
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   189
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   190
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   191
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   192
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   193
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   194
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   195
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   196
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   197
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   198
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   199
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   200
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   201
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   202
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   203
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   204
                self.assertEqual(args.arg_dict["cpio_args"], "-pdm")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   205
                self.assertEqual(tr.action, "install")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   206
                self.assertEqual(tr.contents, "/usr/share/tr_dir_list")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   207
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   208
        # set skip_file_list
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   209
        cpio_node.action = "uninstall"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   210
        cpio_node.type = "FILE"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   211
        cpio_node.contents = "/usr/share/tr_skip_file_list"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   212
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   213
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   214
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   215
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   216
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   217
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   218
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   219
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   220
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   221
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   222
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   223
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   224
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   225
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   226
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   227
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   228
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   229
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   230
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   231
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   232
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   233
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   234
                self.assertEqual(args.arg_dict["cpio_args"], "-pdm")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   235
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   236
                self.assertEqual(tr.contents, "/usr/share/tr_skip_file_list")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   237
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   238
        # set dir_excl_list
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   239
        cpio_node.action = "uninstall"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   240
        cpio_node.type = "DIR"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   241
        cpio_node.contents = "/usr/share/tr_dir_excl_list"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   242
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   243
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   244
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   245
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   246
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   247
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   248
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   249
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   250
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   251
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   252
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   253
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   254
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   255
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   256
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   257
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   258
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   259
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   260
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   261
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   262
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   263
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   264
                self.assertEqual(args.arg_dict["cpio_args"], "-pdm")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   265
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   266
                self.assertEqual(tr.contents, "/usr/share/tr_dir_excl_list")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   267
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   268
        # set media transform
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   269
        cpio_node.action = "transform"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   270
        cpio_node.type = "None"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   271
        cpio_node.contents = "/usr/share/media_transform"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   272
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   273
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   274
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   275
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   276
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   277
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   278
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   279
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   280
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   281
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   282
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   283
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   284
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   285
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   286
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   287
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   288
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   289
            tr_list = soft.get_children("transfer", CPIOSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   290
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   291
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   292
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   293
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   294
                self.assertEqual(args.arg_dict["cpio_args"], "-pdm")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   295
                self.assertEqual(tr.action, "transform")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   296
                self.assertEqual(tr.contents, "/usr/share/media_transform")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   297
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   298
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   299
class TestIPSInfoFunctions(unittest.TestCase):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   300
    '''Tests that validate the IPS info functionality'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   301
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   302
    def setUp(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   303
        InstallEngine._instance = None
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   304
        default_log_dir = tempfile.mkdtemp(dir="/tmp", prefix="logging_")
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   305
        default_log = default_log_dir + "/install_log"
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   306
        InstallEngine(default_log)
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   307
        self.engine = InstallEngine.get_instance()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   308
        self.doc = self.engine.data_object_cache.volatile
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   309
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   310
    def tearDown(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   311
        self.engine.data_object_cache.clear()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   312
        InstallEngine._instance = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   313
        self.engine = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   314
        self.doc = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   315
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   316
        try:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   317
            shutil.rmtree(os.path.dirname(
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   318
                InstallLogger.DEFAULTFILEHANDLER.baseFilename))
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   319
        except:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   320
            pass
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   321
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   322
        logging.Logger.manager.loggerDict = {}
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   323
        InstallLogger.DEFAULTFILEHANDLER = None
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   324
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   325
    def test_name(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   326
        '''Test that names are populated correctly in the Software node'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   327
        ips_node = Software("transfer 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   328
        ips_node2 = Software("transfer 2")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   329
        self.doc.insert_children([ips_node, ips_node2])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   330
        soft_list = self.doc.get_children("transfer 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   331
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   332
            self.assertEqual(soft._name, "transfer 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   333
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   334
        soft_list = self.doc.get_children("transfer 2", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   335
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   336
            self.assertEqual(soft._name, "transfer 2")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   337
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   338
    def test_info(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   339
        '''Test that the arguments get into the node correctly'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   340
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   341
        # just dst, need to check default repo
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   342
        soft_node = Software("transfer test 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   343
        tr_node = IPSSpec()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   344
        soft_node.insert_children([tr_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   345
        self.doc.insert_children([soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   346
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   347
        dst = Destination()
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   348
        ips_image = Image("/rpool/dc", "create")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   349
        self.img_type = ImType("full")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   350
        ips_image.insert_children([self.img_type])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   351
        dst.insert_children([ips_image])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   352
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   353
        src = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   354
        pub = Publisher()
941
ec85e8736d7a 7001246 - Transfer broke nose tests
Ginnie Wray<virginia.wray@oracle.com>
parents: 940
diff changeset
   355
        origin = Origin("http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   356
        pub.insert_children([origin])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   357
        src.insert_children([pub])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   358
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   359
        # first check src and dst
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   360
        soft_node.insert_children([dst, src, soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   361
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   362
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   363
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   364
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   365
                src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   366
                self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   367
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   368
                pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   369
                origin = pub[0].get_children("origin", Origin)
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   370
                self.assertEqual(origin[0].origin,
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   371
                    "http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   372
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   373
                dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   374
                self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   375
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   376
                image = dst_list[0].get_children("image", Image)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   377
                self.assertEqual(len(image), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   378
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   379
                img_type = image[0].get_children("img_type", ImType)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   380
                self.assertEqual(len(img_type), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   381
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   382
                self.assertEqual(image[0].img_root, "/rpool/dc")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   383
                self.assertEqual(image[0].action, "create")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   384
                self.assertEqual(img_type[0].completeness, "full")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   385
                self.assertEqual(img_type[0].zone, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   386
                self.assertEqual(tr.action, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   387
                self.assertEqual(tr.contents, None)
1650
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   388
                self.assertEqual(tr.reject_list, None)
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   389
                self.assertEqual(tr.app_callback, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   390
                self.assertEqual(tr.purge_history, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   391
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   392
        # pkg install list is set
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   393
        tr_node.action = "install"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   394
        tr_node.contents = ["SUNWcs", "SUNWcsr"]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   395
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   396
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   397
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   398
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   399
                src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   400
                self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   401
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   402
                pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   403
                origin = pub[0].get_children("origin", Origin)
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   404
                self.assertEqual(origin[0].origin,
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   405
                    "http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   406
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   407
                dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   408
                self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   409
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   410
                image = dst_list[0].get_children("image", Image)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   411
                self.assertEqual(len(image), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   412
                img_type = image[0].get_children("img_type", ImType)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   413
                self.assertEqual(len(img_type), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   414
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   415
                self.assertEqual(image[0].img_root, "/rpool/dc")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   416
                self.assertEqual(image[0].action, "create")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   417
                self.assertEqual(img_type[0].completeness, "full")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   418
                self.assertEqual(img_type[0].zone, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   419
                self.assertEqual(tr.contents, ["SUNWcs", "SUNWcsr"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   420
                self.assertEqual(tr.action, "install")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   421
                self.assertEqual(tr.purge_history, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   422
                self.assertEqual(tr.app_callback, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   423
1650
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   424
        # pkg reject_list is set
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   425
        tr_node.action = "install"
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   426
        tr_node.contents = ["SUNWcs"]
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   427
        tr_node.reject_list = ["to/be/rejected"]
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   428
        soft_list = self.doc.get_children("transfer test 1", Software)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   429
        for soft in soft_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   430
            tr_list = soft.get_children(class_type=IPSSpec)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   431
            for tr in tr_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   432
                src_list = soft.get_children("source", Source)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   433
                self.assertEqual(len(src_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   434
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   435
                pub = src_list[0].get_children("publisher", Publisher)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   436
                origin = pub[0].get_children("origin", Origin)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   437
                self.assertEqual(origin[0].origin,
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   438
                    "http://pkg.oracle.com/solaris/release")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   439
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   440
                dst_list = soft.get_children("destination", Destination)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   441
                self.assertEqual(len(dst_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   442
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   443
                image = dst_list[0].get_children("image", Image)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   444
                self.assertEqual(len(image), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   445
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   446
                img_type = image[0].get_children("img_type", ImType)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   447
                self.assertEqual(len(img_type), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   448
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   449
                self.assertEqual(image[0].img_root, "/rpool/dc")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   450
                self.assertEqual(image[0].action, "create")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   451
                self.assertEqual(img_type[0].completeness, "full")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   452
                self.assertEqual(img_type[0].zone, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   453
                self.assertEqual(tr.action, "install")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   454
                self.assertEqual(tr.contents, ["SUNWcs"])
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   455
                self.assertEqual(tr.reject_list, ["to/be/rejected"])
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   456
                self.assertEqual(tr.purge_history, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   457
                self.assertEqual(tr.app_callback, None)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   458
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   459
        # pkg uninstall list is set
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   460
        tr_node.action = "uninstall"
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   461
        tr_node.contents = ["SUNWcs"]
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   462
        soft_list = self.doc.get_children("transfer test 1", Software)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   463
        for soft in soft_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   464
            tr_list = soft.get_children(class_type=IPSSpec)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   465
            for tr in tr_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   466
                src_list = soft.get_children("source", Source)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   467
                self.assertEqual(len(src_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   468
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   469
                pub = src_list[0].get_children("publisher", Publisher)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   470
                origin = pub[0].get_children("origin", Origin)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   471
                self.assertEqual(origin[0].origin,
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   472
                    "http://pkg.oracle.com/solaris/release")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   473
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   474
                dst_list = soft.get_children("destination", Destination)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   475
                self.assertEqual(len(dst_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   476
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   477
                image = dst_list[0].get_children("image", Image)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   478
                self.assertEqual(len(image), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   479
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   480
                img_type = image[0].get_children("img_type", ImType)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   481
                self.assertEqual(len(img_type), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   482
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   483
                self.assertEqual(image[0].img_root, "/rpool/dc")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   484
                self.assertEqual(image[0].action, "create")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   485
                self.assertEqual(img_type[0].completeness, "full")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   486
                self.assertEqual(img_type[0].zone, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   487
                self.assertEqual(tr.action, "uninstall")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   488
                self.assertEqual(tr.contents, ["SUNWcs"])
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   489
                self.assertEqual(tr.purge_history, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   490
                self.assertEqual(tr.app_callback, None)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   491
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   492
        # pkg avoid list is set
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   493
        tr_node.action = "avoid"
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   494
        tr_node.contents = ["SUNWcs", "SUNWcsr"]
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   495
        soft_list = self.doc.get_children("transfer test 1", Software)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   496
        for soft in soft_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   497
            tr_list = soft.get_children(class_type=IPSSpec)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   498
            for tr in tr_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   499
                src_list = soft.get_children("source", Source)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   500
                self.assertEqual(len(src_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   501
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   502
                pub = src_list[0].get_children("publisher", Publisher)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   503
                origin = pub[0].get_children("origin", Origin)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   504
                self.assertEqual(origin[0].origin,
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   505
                    "http://pkg.oracle.com/solaris/release")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   506
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   507
                dst_list = soft.get_children("destination", Destination)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   508
                self.assertEqual(len(dst_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   509
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   510
                image = dst_list[0].get_children("image", Image)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   511
                self.assertEqual(len(image), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   512
                img_type = image[0].get_children("img_type", ImType)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   513
                self.assertEqual(len(img_type), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   514
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   515
                self.assertEqual(image[0].img_root, "/rpool/dc")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   516
                self.assertEqual(image[0].action, "create")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   517
                self.assertEqual(img_type[0].completeness, "full")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   518
                self.assertEqual(img_type[0].zone, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   519
                self.assertEqual(tr.contents, ["SUNWcs", "SUNWcsr"])
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   520
                self.assertEqual(tr.action, "avoid")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   521
                self.assertEqual(tr.purge_history, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   522
                self.assertEqual(tr.app_callback, None)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   523
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   524
        # pkg unavoid list is set
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   525
        tr_node.action = "unavoid"
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   526
        tr_node.contents = ["SUNWcs", "SUNWcsr"]
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   527
        soft_list = self.doc.get_children("transfer test 1", Software)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   528
        for soft in soft_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   529
            tr_list = soft.get_children(class_type=IPSSpec)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   530
            for tr in tr_list:
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   531
                src_list = soft.get_children("source", Source)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   532
                self.assertEqual(len(src_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   533
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   534
                pub = src_list[0].get_children("publisher", Publisher)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   535
                origin = pub[0].get_children("origin", Origin)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   536
                self.assertEqual(origin[0].origin,
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   537
                    "http://pkg.oracle.com/solaris/release")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   538
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   539
                dst_list = soft.get_children("destination", Destination)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   540
                self.assertEqual(len(dst_list), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   541
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   542
                image = dst_list[0].get_children("image", Image)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   543
                self.assertEqual(len(image), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   544
                img_type = image[0].get_children("img_type", ImType)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   545
                self.assertEqual(len(img_type), 1)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   546
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   547
                self.assertEqual(image[0].img_root, "/rpool/dc")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   548
                self.assertEqual(image[0].action, "create")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   549
                self.assertEqual(img_type[0].completeness, "full")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   550
                self.assertEqual(img_type[0].zone, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   551
                self.assertEqual(tr.contents, ["SUNWcs", "SUNWcsr"])
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   552
                self.assertEqual(tr.action, "unavoid")
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   553
                self.assertEqual(tr.purge_history, False)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   554
                self.assertEqual(tr.app_callback, None)
0a799935ac50 7145997 support for avoid lists and reject during install action should be added.
Darren Kenny <Darren.Kenny@Oracle.COM>
parents: 1059
diff changeset
   555
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   556
        # pkg uninstall list is set
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   557
        tr_node.action = "uninstall"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   558
        tr_node.contents = ["SUNWcs"]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   559
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   560
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   561
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   562
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   563
                src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   564
                self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   565
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   566
                pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   567
                origin = pub[0].get_children("origin", Origin)
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   568
                self.assertEqual(origin[0].origin,
1059
574db12481c5 7001589 Implement a Transfer.create_checkpoint method - fix merge errors
Sanjay Nadkarni <nadkarni@sun.com>
parents: 1058
diff changeset
   569
                    "http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   570
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   571
                dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   572
                self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   573
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   574
                image = dst_list[0].get_children("image", Image)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   575
                self.assertEqual(len(image), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   576
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   577
                img_type = image[0].get_children("img_type", ImType)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   578
                self.assertEqual(len(img_type), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   579
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   580
                self.assertEqual(image[0].img_root, "/rpool/dc")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   581
                self.assertEqual(image[0].action, "create")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   582
                self.assertEqual(img_type[0].completeness, "full")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   583
                self.assertEqual(img_type[0].zone, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   584
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   585
                self.assertEqual(tr.contents, ["SUNWcs"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   586
                self.assertEqual(tr.purge_history, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   587
                self.assertEqual(tr.app_callback, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   588
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   589
        # purge history is set to true
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   590
        tr_node.purge_history = True
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   591
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   592
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   593
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   594
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   595
                src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   596
                self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   597
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   598
                pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   599
                origin = pub[0].get_children("origin", Origin)
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   600
                self.assertEqual(origin[0].origin,
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   601
                    "http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   602
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   603
                dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   604
                self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   605
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   606
                image = dst_list[0].get_children("image", Image)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   607
                self.assertEqual(len(image), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   608
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   609
                img_type = image[0].get_children("img_type", ImType)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   610
                self.assertEqual(len(img_type), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   611
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   612
                self.assertEqual(image[0].img_root, "/rpool/dc")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   613
                self.assertEqual(image[0].action, "create")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   614
                self.assertEqual(img_type[0].completeness, "full")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   615
                self.assertEqual(img_type[0].zone, False)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   616
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   617
                self.assertEqual(tr.contents, ["SUNWcs"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   618
                self.assertEqual(tr.purge_history, True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   619
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   620
        # is zone is set to True
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   621
        self.img_type.zone = True
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   622
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   623
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   624
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   625
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   626
                src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   627
                self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   628
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   629
                pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   630
                origin = pub[0].get_children("origin", Origin)
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   631
                self.assertEqual(origin[0].origin,
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   632
                    "http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   633
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   634
                dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   635
                self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   636
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   637
                image = dst_list[0].get_children("image", Image)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   638
                self.assertEqual(len(image), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   639
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   640
                img_type = image[0].get_children("img_type", ImType)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   641
                self.assertEqual(len(img_type), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   642
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   643
                self.assertEqual(image[0].img_root, "/rpool/dc")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   644
                self.assertEqual(image[0].action, "create")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   645
                self.assertEqual(img_type[0].completeness, "full")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   646
                self.assertEqual(img_type[0].zone, True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   647
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   648
                self.assertEqual(tr.contents, ["SUNWcs"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   649
                self.assertEqual(tr.purge_history, True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   650
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   651
        # completeness is set to IMG_TYPE_PARTIAL
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   652
        self.img_type.completeness = IMG_TYPE_PARTIAL
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   653
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   654
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   655
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   656
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   657
                src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   658
                self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   659
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   660
                pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   661
                origin = pub[0].get_children("origin", Origin)
1058
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   662
                self.assertEqual(origin[0].origin,
8cba9846c1b2 7001589 Implement a Transfer.create_checkpoint method
Sanjay Nadkarni <nadkarni@sun.com>
parents: 947
diff changeset
   663
                    "http://pkg.oracle.com/solaris/release")
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   664
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   665
                dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   666
                self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   667
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   668
                image = dst_list[0].get_children("image", Image)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   669
                self.assertEqual(len(image), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   670
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   671
                img_type = image[0].get_children("img_type", ImType)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   672
                self.assertEqual(len(img_type), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   673
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   674
                self.assertEqual(image[0].img_root, "/rpool/dc")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   675
                self.assertEqual(image[0].action, "create")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   676
                self.assertEqual(img_type[0].completeness, IMG_TYPE_PARTIAL)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   677
                self.assertEqual(img_type[0].zone, True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   678
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   679
                self.assertEqual(tr.contents, ["SUNWcs"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   680
                self.assertEqual(tr.purge_history, True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   681
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   682
    def test_multiple_source_info(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   683
        '''Test that specifying multiple sources succeeds.'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   684
        soft_node = Software("transfer test 2")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   685
        src1 = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   686
        pub1 = Publisher("test1.org")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   687
        origin1 = Origin("http://test1/dev")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   688
        pub1.insert_children([origin1])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   689
        src1.insert_children([pub1])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   690
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   691
        src2 = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   692
        pub2 = Publisher("test2.org")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   693
        origin2 = Origin("http://test2/dev")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   694
        pub2.insert_children([origin2])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   695
        src2.insert_children([pub2])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   696
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   697
        tr_node = IPSSpec()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   698
        soft_node.insert_children([src1, src2, tr_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   699
        self.doc.insert_children([soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   700
        soft_list = self.doc.get_children("transfer test 2", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   701
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   702
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   703
            pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   704
            origin = pub[0].get_children("origin", Origin)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   705
            self.assertEqual(pub[0].publisher, "test1.org")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   706
            self.assertEqual(origin[0].origin, "http://test1/dev")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   707
            pub = src_list[1].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   708
            origin = pub[0].get_children("origin", Origin)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   709
            self.assertEqual(pub[0].publisher, "test2.org")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   710
            self.assertEqual(origin[0].origin, "http://test2/dev")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   711
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   712
    def test_mirror_info(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   713
        '''Test that writting to the mirror object works'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   714
        soft_node = Software("transfer test 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   715
        src = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   716
        pub = Publisher("test.org")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   717
        origin = Origin("http://test/dev")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   718
        mirror = Mirror("http://mirror")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   719
        pub.insert_children([origin, mirror])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   720
        src.insert_children([pub])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   721
        tr_node = IPSSpec()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   722
        soft_node.insert_children([src, tr_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   723
        self.doc.insert_children([soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   724
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   725
        soft_list = self.doc.get_children("transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   726
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   727
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   728
            pub = src_list[0].get_children("publisher", Publisher)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   729
            origin = pub[0].get_children("origin", Origin)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   730
            mirror = pub[0].get_children("mirror", Mirror)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   731
            self.assertEqual(pub[0].publisher, "test.org")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   732
            self.assertEqual(origin[0].origin, "http://test/dev")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   733
            self.assertEqual(mirror[0].mirror, "http://mirror")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   734
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   735
    def test_args(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   736
        '''Test that setting the ips arguments works'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   737
        soft_node = Software("transfer test 4")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   738
        tr_node = IPSSpec()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   739
        ips_args_node = Args({"force": True, "set-something": 12})
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   740
        tr_node.insert_children([ips_args_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   741
        soft_node.insert_children([tr_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   742
        self.doc.insert_children([soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   743
        soft_list = self.doc.get_children("transfer test 4", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   744
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   745
            tr_list = soft.get_children(class_type=IPSSpec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   746
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   747
                ips_args = tr.get_children("args", Args)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   748
                for args in ips_args:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   749
                    for key in args.arg_dict:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   750
                        if key is not "force" or key is not "set-something":
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   751
                            self.assertTrue(True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   752
                        if key is "force":
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   753
                            self.assertEqual(args.arg_dict[key], True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   754
                        if key is "set-something":
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   755
                            self.assertEqual(args.arg_dict[key], 12)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   756
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   757
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   758
class TestP5IInfoFunctions(unittest.TestCase):
941
ec85e8736d7a 7001246 - Transfer broke nose tests
Ginnie Wray<virginia.wray@oracle.com>
parents: 940
diff changeset
   759
    DEF_P5I_FILE = "http://pkg.oracle.com/solaris/release/p5i/0/SUNW1394.p5i"
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   760
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   761
    def setUp(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   762
        InstallEngine._instance = None
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   763
        default_log_dir = tempfile.mkdtemp(dir="/tmp", prefix="logging_")
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   764
        default_log = default_log_dir + "/install_log"
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   765
        InstallEngine(default_log)
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   766
        self.engine = InstallEngine.get_instance()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   767
        self.doc = self.engine.data_object_cache.volatile
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   768
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   769
    def tearDown(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   770
        self.engine.data_object_cache.clear()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   771
        InstallEngine._instance = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   772
        self.engine = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   773
        self.doc = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   774
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   775
        try:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   776
            shutil.rmtree(os.path.dirname(
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   777
                InstallLogger.DEFAULTFILEHANDLER.baseFilename))
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   778
        except:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   779
            pass
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   780
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   781
        logging.Logger.manager.loggerDict = {}
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   782
        InstallLogger.DEFAULTFILEHANDLER = None
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   783
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   784
    def test_file_name(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   785
        '''Test that Origin is set correctly in the node'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   786
        p5i_node = Software("transfer 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   787
        src = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   788
        pub = Publisher()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   789
        origin = Origin(self.DEF_P5I_FILE)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   790
        pub.insert_children([origin])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   791
        src.insert_children([pub])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   792
        p5i_node.insert_children([src])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   793
        self.doc.insert_children([p5i_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   794
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   795
        soft_list = self.doc.get_children("transfer 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   796
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   797
            src = soft.get_children("source", Source)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   798
            pub = src.get_children("publisher", Publisher)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   799
            origin = pub.get_children("origin", Origin)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   800
            self.assertTrue(origin.origin == self.DEF_P5I_FILE)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   801
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   802
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   803
class TestSVR4InfoFunctions(unittest.TestCase):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   804
    def setUp(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   805
        InstallEngine._instance = None
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   806
        default_log_dir = tempfile.mkdtemp(dir="/tmp", prefix="logging_")
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   807
        default_log = default_log_dir + "/install_log"
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   808
        InstallEngine(default_log)
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   809
        self.engine = InstallEngine.get_instance()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   810
        self.doc = self.engine.data_object_cache.volatile
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   811
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   812
    def tearDown(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   813
        InstallEngine._instance = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   814
        self.engine.data_object_cache.clear()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   815
        self.engine = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   816
        self.doc = None
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   817
1717
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   818
        try:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   819
            shutil.rmtree(os.path.dirname(
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   820
                InstallLogger.DEFAULTFILEHANDLER.baseFilename))
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   821
        except:
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   822
            pass
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   823
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   824
        logging.Logger.manager.loggerDict = {}
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   825
        InstallLogger.DEFAULTFILEHANDLER = None
10cb4d15a248 7066254 Problem with install/logging
Ginnie Wray<virginia.wray@oracle.com>
parents: 1650
diff changeset
   826
940
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   827
    def test_info(self):
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   828
        '''Test that all the arguments get into the node correctly'''
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   829
        soft_node = Software("SVR4 transfer test 1")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   830
        svr4_node = SVR4Spec()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   831
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   832
        dst = Destination()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   833
        path = Dir("/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   834
        dst.insert_children([path])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   835
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   836
        src = Source()
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   837
        path = Dir("/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   838
        src.insert_children([path])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   839
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   840
        # first check src and dst
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   841
        soft_node.insert_children([dst, src, svr4_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   842
        self.doc.insert_children([soft_node])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   843
        soft_list = self.doc.get_children("SVR4 transfer test 1", Software)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   844
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   845
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   846
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   847
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   848
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   849
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   850
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   851
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   852
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   853
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   854
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   855
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   856
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   857
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   858
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   859
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   860
            tr_list = soft.get_children("transfer", SVR4Spec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   861
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   862
                try:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   863
                    args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   864
                except:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   865
                    self.assertTrue(True)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   866
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   867
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   868
                self.assertEqual(tr.action, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   869
                self.assertEqual(tr.contents, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   870
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   871
        # set cpio args
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   872
        args = Args({"svr4_args": "-n -d"})
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   873
        svr4_node.insert_children([args])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   874
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   875
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   876
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   877
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   878
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   879
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   880
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   881
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   882
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   883
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   884
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   885
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   886
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   887
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   888
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   889
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   890
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   891
            tr_list = soft.get_children("transfer", SVR4Spec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   892
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   893
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   894
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   895
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   896
                self.assertEqual(args.arg_dict["svr4_args"], "-n -d")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   897
                self.assertEqual(tr.action, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   898
                self.assertEqual(tr.contents, None)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   899
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   900
        # set install package content
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   901
        svr4_node.action = "install"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   902
        svr4_node.contents = ["SUNWcsr", "SUNWcsu"]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   903
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   904
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   905
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   906
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   907
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   908
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   909
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   910
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   911
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   912
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   913
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   914
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   915
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   916
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   917
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   918
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   919
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   920
            tr_list = soft.get_children("transfer", SVR4Spec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   921
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   922
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   923
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   924
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   925
                self.assertEqual(args.arg_dict["svr4_args"], "-n -d")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   926
                self.assertEqual(tr.action, "install")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   927
                self.assertEqual(tr.contents, ["SUNWcsr", "SUNWcsu"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   928
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   929
        # set uninstall package content
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   930
        svr4_node.action = "uninstall"
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   931
        svr4_node.contents = ["SUNWlxml", "SUNWzfs"]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   932
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   933
        # Check that we can read the attributes out correctly
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   934
        for soft in soft_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   935
            src_list = soft.get_children("source", Source)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   936
            self.assertEqual(len(src_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   937
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   938
            src_path = src_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   939
            self.assertEqual(len(src_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   940
            src = src_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   941
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   942
            dst_list = soft.get_children("destination", Destination)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   943
            self.assertEqual(len(dst_list), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   944
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   945
            dst_path = dst_list[0].get_children("dir", Dir)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   946
            self.assertEqual(len(dst_path), 1)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   947
            dst = dst_path[0].dir_path
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   948
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   949
            tr_list = soft.get_children("transfer", SVR4Spec)
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   950
            for tr in tr_list:
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   951
                args = tr.get_children("args", Args)[0]
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   952
                self.assertEqual(dst, "/a")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   953
                self.assertEqual(src, "/bin")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   954
                self.assertEqual(args.arg_dict["svr4_args"], "-n -d")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   955
                self.assertEqual(tr.action, "uninstall")
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   956
                self.assertEqual(tr.contents, ["SUNWlxml", "SUNWzfs"])
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   957
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   958
if __name__ == '__main__':
8b8b5f371bf9 6997589 - implement CUD transfer mechanism
Ginnie Wray<virginia.wray@oracle.com>
parents:
diff changeset
   959
    unittest.main()