def testDisableEnable(self): """Tests for the state file upon switching to disabled.""" self.metadata_watcher_.SetGetMetadataResult('{"enabled": true}') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertTrue(os.path.isfile(self.path)) self.metadata_watcher_.SetGetMetadataResult('{"enabled": false}') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertFalse(os.path.isfile(self.path)) self.metadata_watcher_.SetGetMetadataResult('{"enabled": true}') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertTrue(os.path.isfile(self.path))
def testUnparseableMetadata(self): """Tests for the state file does not exist on metadata unparseable.""" self.metadata_watcher_.SetGetMetadataResult('"enabled": true') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertFalse(os.path.isfile(self.path))
def testEmptyMetadata(self): """Tests that the state file does not exist if the metadata is empty.""" self.metadata_watcher_.SetGetMetadataResult('') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertFalse(os.path.isfile(self.path))
def testEnabledKeyNotPresentInParsedMetadata(self): """Tests that absence of the key 'enabled' in the parsed metadata results in verification being disabled.""" self.metadata_watcher_.SetGetMetadataResult('{"asdf": true}') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertFalse(os.path.isfile(self.path))
def testDisable(self): """Tests for the state file does not exist on metadata disabled.""" self.metadata_watcher_.SetGetMetadataResult('{"enabled": false}') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': self.path, 'polling_interval': 1, 'fetch_keys': False, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertFalse(os.path.isfile(self.path))
def testEnable(self): """Tests for the state file exists on metadata enable.""" path = '%s/tmp' % self.pathname_ self.metadata_watcher_.SetGetMetadataResult('{"enabled": true}') iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': path, 'polling_interval': 1, }), watcher=self.metadata_watcher_, loop_watcher=False) self.assertTrue(os.path.isfile(path))
def testFetchKeys(self): """Tests that keys are fetched when the fetch_keys argument is True.""" state_path = '%s/tmp' % self.pathname_ key_path = '%s/keys' % self.pathname_ self.metadata_watcher_.SetGetMetadataResult('{"enabled": true}') def mock_os_system(command): self.cmd = command iap_watcher.Main(Object({ 'iap_metadata_key': 'AEF_IAP_state', 'output_state_file': state_path, 'polling_interval': 1, 'fetch_keys': True, 'output_key_file': key_path, }), watcher=self.metadata_watcher_, loop_watcher=False, os_system=mock_os_system) self.assertEqual( self.cmd, 'curl "https://www.gstatic.com/iap/verify/public_key-jwk" > ' + key_path)