~cjohnston/ubuntu-ci-services-itself/1285302

« back to all changes in this revision

Viewing changes to lander/lander/tests/test_service_wrapper.py

  • Committer: Chris Johnston
  • Author(s): Francis Ginther
  • Date: 2014-02-26 17:25:56 UTC
  • mfrom: (276.1.3 lander-image-builder)
  • Revision ID: chris_johnston-20140226172556-72sd9s2xon62rs9q
[r=PS Jenkins bot, Andy Doan] Pass the appropriate image and binary package parameters through from the ticket system to the image builder and test runner. This allows the default cloud image and series (saucy) and the set of binary packages to be used correctly.  from Francis Ginther

Show diffs side-by-side

added added

removed removed

Lines of Context:
81
81
        with self.assertRaises(SystemExit):
82
82
            lander_service_wrapper._get_parser().parse_args(args)
83
83
 
 
84
    @mock.patch('lander_service_wrapper.TicketApi')
 
85
    def testGetBinaryPackagesAddedOnly(self, api):
 
86
        '''Verify that packages from the current ticket are added.'''
 
87
        packages = ['add_package1', 'add_package2']
 
88
        parameters = {'added_binaries': ','.join(packages)}
 
89
        api.get_binaries = mock.Mock(return_value=[])
 
90
        actual = lander_service_wrapper._get_binary_packages(api, parameters)
 
91
        self.assertEqual(packages, actual)
 
92
 
 
93
    @mock.patch('lander_service_wrapper.TicketApi')
 
94
    def testGetBinaryPackagesNone(self, api):
 
95
        '''Verify that no packages are added when none are specified.'''
 
96
        packages = []
 
97
        parameters = {'added_binaries': ','.join(packages)}
 
98
        api.get_binaries = mock.Mock(return_value=[])
 
99
        actual = lander_service_wrapper._get_binary_packages(api, parameters)
 
100
        self.assertEqual(packages, actual)
 
101
 
 
102
    @mock.patch('lander_service_wrapper.TicketApi')
 
103
    def testGetBinaryPackagesGlobalOnly(self, api):
 
104
        '''Verify that packages only from the global list are added.'''
 
105
        packages = []
 
106
        golden = ['golden_package1', 'golden_package2']
 
107
        parameters = {'added_binaries': ','.join(packages)}
 
108
        api.get_binaries = mock.Mock(return_value=golden)
 
109
        actual = lander_service_wrapper._get_binary_packages(api, parameters)
 
110
        expected = packages
 
111
        expected.extend(golden)
 
112
        self.assertEqual(packages, actual)
 
113
 
 
114
    @mock.patch('lander_service_wrapper.TicketApi')
 
115
    def testGetBinaryPackagesAddedAndGlobal(self, api):
 
116
        '''Verify that packages from the ticket and global list are added.'''
 
117
        packages = ['add_package1', 'add_package2']
 
118
        golden = ['golden_package1', 'golden_package2']
 
119
        parameters = {'added_binaries': ','.join(packages)}
 
120
        api.get_binaries = mock.Mock(return_value=golden)
 
121
        actual = lander_service_wrapper._get_binary_packages(api, parameters)
 
122
        expected = packages
 
123
        expected.extend(golden)
 
124
        self.assertEqual(packages, actual)
 
125
 
84
126
    @mock.patch('lander_service_wrapper._post')
85
127
    def testPPAAssigner404(self, post):
86
128
        '''Ensure a "no ppas" type error generates a response'''