예제 #1
0
 def testAddProxyFromScratchWithAuth(self):
     self.setAnswers('Y', '1', 'golden', '80', 'Y', 'username', 'password')
     self.assertTrue(http_proxy_setup.ChangeGcloudProxySettings())
     self.AssertErrContains(self._ADD_NEW_PROXY_PROMPT)
     self.AssertErrNotContains(self._CHANGE_EXISTING_MENU)
     self.AssertErrContains('Cloud SDK proxy properties set.')
     self.AssertGoldenProxyProperties(with_auth=True)
예제 #2
0
 def testInvalidPropertiesInGcloudMakeNoChanges(self):
     SET_PROXY(proxy_type='http', port='80')
     self.setAnswers('N')
     self.assertFalse(http_proxy_setup.ChangeGcloudProxySettings())
     self.AssertErrContains(
         'Cloud SDK network proxy settings appear to be invalid. Proxy type, '
         'address, and port must be specified. Run [gcloud info] for more '
         'details.')
     self.AssertErrContains(self._CHANGE_EXISTING_MENU)
     self.AssertErrNotContains('Cloud SDK proxy properties set.')
예제 #3
0
 def testClearExistingProxy(self):
   SET_PROXY(proxy_type='http', address='badproxy', port='8081',
             username='******', password='******')
   self.AssertBadGloudProxyProperties()
   self.setAnswers('2')
   self.assertTrue(http_proxy_setup.ChangeGcloudProxySettings())
   self.AssertErrContains(self._CHANGE_EXISTING_MENU)
   self.AssertErrNotContains(self._ADD_NEW_PROXY_PROMPT)
   self.AssertErrContains('Cloud SDK proxy properties cleared.')
   self.AssertNoGloudProxyProperties()
예제 #4
0
 def testUserPromptsDisabled(self):
   SET_PROXY(proxy_type='http', address='badproxy', port='8081',
             username='******', password='******')
   self.AssertBadGloudProxyProperties()
   self.StartObjectPatch(properties.VALUES.core.disable_prompts,
                         'GetBool').return_value = True
   self.assertFalse(http_proxy_setup.ChangeGcloudProxySettings())
   self.AssertErrNotContains(self._CHANGE_EXISTING_MENU)
   self.AssertErrNotContains(self._ADD_NEW_PROXY_PROMPT)
   self.AssertBadGloudProxyProperties()
예제 #5
0
 def testChangeExistingProxy(self):
   SET_PROXY(proxy_type='http', address='badproxy', port='8081',
             username='******', password='******')
   self.AssertBadGloudProxyProperties()
   self.setAnswers('1', '1', 'golden', '80', 'Y', 'username', 'password')
   self.assertTrue(http_proxy_setup.ChangeGcloudProxySettings())
   self.AssertErrContains(self._CHANGE_EXISTING_MENU)
   self.AssertErrNotContains(self._ADD_NEW_PROXY_PROMPT)
   self.AssertErrContains('Cloud SDK proxy properties set.')
   self.AssertGoldenProxyProperties(with_auth=True)
예제 #6
0
 def testAddProxyFromScratchNoPasswordExit(self):
     self.setAnswers('Y', '1', 'golden', '80', 'Y', 'username', '')
     self.assertFalse(http_proxy_setup.ChangeGcloudProxySettings())
     self.AssertErrContains(self._ADD_NEW_PROXY_PROMPT)
     self.AssertErrNotContains(self._CHANGE_EXISTING_MENU)
     self.AssertErrContains('Select the proxy type:')
     self.AssertErrContains('Enter the proxy host address:')
     self.AssertErrContains('Enter the proxy port:')
     self.AssertErrContains('Is your proxy authenticated')
     self.AssertErrContains('Enter the proxy username:'******'Enter the proxy password:'******'Cloud SDK proxy properties set.')
     self.AssertNoGloudProxyProperties()
예제 #7
0
 def testChangeExistingProxyFromEnvVar(self):
   self.StartEnvPatch(
       {'http_proxy': 'https://*****:*****@badproxy:8080',
        'https_proxy': 'https://*****:*****@badproxy:8081'})
   pi = http_proxy.GetHttpProxyInfo()
   self.assertTrue(callable(pi))
   self.assertEqual(
       (socks.PROXY_TYPE_HTTP, 'badproxy', 8080, True, 'baduser',
        'badpassword', None),
       pi('http').astuple())
   self.assertEqual(
       (socks.PROXY_TYPE_HTTP, 'badproxy', 8081, True, 'baduser',
        'badpassword', None),
       pi('https').astuple())
   self.AssertNoGloudProxyProperties()
   self.setAnswers('Y', '1', 'golden', '80', 'Y', 'username', 'password')
   self.assertTrue(http_proxy_setup.ChangeGcloudProxySettings())
   self.AssertErrContains(self._ADD_NEW_PROXY_PROMPT)
   self.AssertErrNotContains(self._CHANGE_EXISTING_MENU)
   self.AssertErrContains('Cloud SDK proxy properties set.')
   self.AssertGoldenProxyProperties(with_auth=True)
예제 #8
0
 def testFromScratchMakeNoChanges(self):
     self.setAnswers('N')
     self.assertFalse(http_proxy_setup.ChangeGcloudProxySettings())
     self.AssertErrContains(self._ADD_NEW_PROXY_PROMPT)
     self.AssertErrNotContains('Cloud SDK proxy properties set.')
     self.AssertNoGloudProxyProperties()