buildframework/helium/tools/common/python/lib/cpythontest/test_ccm.py
author wbernard
Wed, 23 Dec 2009 19:29:07 +0200
changeset 179 d8ac696cc51f
permissions -rw-r--r--
helium_7.0-r14027
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
179
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     1
#============================================================================ 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     2
#Name        : test_ccm.py 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     3
#Part of     : Helium 
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     4
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     5
#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     6
#All rights reserved.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     7
#This component and the accompanying materials are made available
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     8
#under the terms of the License "Eclipse Public License v1.0"
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
     9
#which accompanies this distribution, and is available
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    10
#at the URL "http://www.eclipse.org/legal/epl-v10.html".
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    11
#
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    12
#Initial Contributors:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    13
#Nokia Corporation - initial contribution.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    14
#
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    15
#Contributors:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    16
#
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    17
#Description:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    18
#===============================================================================
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    19
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    20
""" Test cases for ccm python toolkit.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    21
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    22
"""
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    23
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    24
# pylint: disable-msg=E1101
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    25
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    26
import logging
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    27
import os
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    28
import subprocess
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    29
import sys
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    30
import unittest
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    31
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    32
import mocker
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    33
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    34
import ccm
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    35
import nokia.nokiaccm
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    36
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    37
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    38
_logger = logging.getLogger('test.ccm')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    39
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    40
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    41
class CcmTest(mocker.MockerTestCase):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    42
    """ Tests the ccm module using mocker to prevent accessing a real Synergy database. """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    43
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    44
    def test_running_sessions(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    45
        """ Running sessions can be checked. """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    46
        obj = self.mocker.replace(ccm._execute)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    47
        if sys.platform == "win32":
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    48
            obj('c:\\apps\\ccm65\\bin\\ccm.exe status')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    49
        else:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    50
            obj('/nokia/fa_nmp/apps/cmsynergy/6.5/bin/ccm status')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    51
        self.mocker.result(("""Sessions for user pmackay:
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    52
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    53
Command Interface @ 1CAL01176:1553:10.241.72.23
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    54
Database: /nokia/vc_nmp/groups/gscm/dbs/vc1s60p1
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    55
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    56
Current project could not be identified.
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    57
""", 0))
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    58
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    59
        self.mocker.replay()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    60
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    61
        sessions = ccm.running_sessions()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    62
        print sessions
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    63
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    64
#    def test_open_session(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    65
#        """ ccm session can be opened. """
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    66
#        gscm_obj = self.mocker.replace(nokia.gscm._execute)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    67
#        gscm_obj('perl f:\\helium\\svn\\trunk\\helium\\tools/common/bin/get_gscm_info.pl get_router_address /nokia/vc_nmp/groups/gscm/dbs/vc1s60p1')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    68
#        self.mocker.result(("vccmsr65:55414:172.18.95.98:172.18.95.61:172.18.95.95:172.18.95.96:172.18.95.97", 0))
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    69
#        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    70
#        obj = self.mocker.replace(ccm._execute)
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    71
#        obj('c:\\apps\\ccm65\\bin\\ccm.exe start -m -q -nogui -n username -pw foobar -h vccmsweh.americas.company.com -d /nokia/vc_nmp/groups/gscm/dbs/vc1s60p1')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    72
#        self.mocker.result(("1CAL01176:1333:10.186.216.77:10.241.72.68", 0))
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    73
#        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    74
#        self.mocker.replay()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    75
#        session = nokia.nokiaccm.open_session(password='foobar', engine='vccmsweh.americas.company.com', dbpath='/nokia/vc_nmp/groups/gscm/dbs/vc1s60p1', database='/nokia/vc_nmp/groups/gscm/dbs/vc1s60p1')
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    76
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    77
        
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    78
    def test_timeout_launcher(self):
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    79
        sys.path.append(os.path.join(os.environ['HELIUM_HOME'], 'tools/common/python/scripts'))
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    80
        import timeout_launcher
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    81
        #backup = sys.argv
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    82
        #sys.argv = ['--', 'echo 1']
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    83
        #timeout_launcher.main()
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    84
        #sys.argv = backup
d8ac696cc51f helium_7.0-r14027
wbernard
parents:
diff changeset
    85