| 20 | |
| 21 | class TestWindows(unittest.TestCase): |
| 22 | def setUp(self): |
| 23 | self.popen_patcher = mock.patch('subprocess.Popen') |
| 24 | self.popen = self.popen_patcher.start() |
| 25 | |
| 26 | self.check_call_patcher = mock.patch('subprocess.check_call') |
| 27 | self.check_call = self.check_call_patcher.start() |
| 28 | |
| 29 | self.open_patcher = mock.patch( |
| 30 | 'awscli.customizations.codedeploy.systems.open', |
| 31 | mock.mock_open(), |
| 32 | create=True, |
| 33 | ) |
| 34 | self.open = self.open_patcher.start() |
| 35 | |
| 36 | self.config_dir = r'C:\ProgramData\Amazon\CodeDeploy' |
| 37 | self.config_file = 'conf.onpremises.yml' |
| 38 | self.config_path = rf'{self.config_dir}\{self.config_file}' |
| 39 | self.installer = 'codedeploy-agent.msi' |
| 40 | self.bucket = 'bucket' |
| 41 | self.key = 'key' |
| 42 | self.region = 'us-east-1' |
| 43 | |
| 44 | self.body = 'install-script' |
| 45 | self.reader = mock.MagicMock() |
| 46 | self.reader.read.return_value = self.body |
| 47 | self.s3 = mock.MagicMock() |
| 48 | self.s3.get_object.return_value = {'Body': self.reader} |
| 49 | |
| 50 | self.session = mock.MagicMock() |
| 51 | self.session.create_client.return_value = self.s3 |
| 52 | |
| 53 | self.params = Namespace() |
| 54 | self.params.session = self.session |
| 55 | self.params.region = self.region |
| 56 | self.params.bucket = self.bucket |
| 57 | self.params.key = self.key |
| 58 | |
| 59 | self.windows = Windows(self.params) |
| 60 | |
| 61 | def tearDown(self): |
| 62 | self.popen_patcher.stop() |