Ejemplo n.º 1
0
 def test_getset_host_credentials_env_variable(self, m_parser, m_input):
     p = Project(init=False)
     p.txrc = m_parser
     p.save = Mock()
     p.txrc_file = '/tmp'
     p.txrc.has_section.side_effect = [False]
     username, password = p.getset_host_credentials('test')
     self.assertEqual(username, 'api')
     self.assertEqual(password, 'environment_value')
     self.assertEqual(p.txrc.set.call_count, 2)
     # no input will be asked, password will be used by environment variable
     self.assertEqual(m_input.call_count, 0)
     p.save.assert_called()
Ejemplo n.º 2
0
 def test_getset_host_credentials_env_variable_first_time(
         self, m_parser, m_input):
     p = Project(init=False)
     p.txrc = m_parser
     p.save = Mock()
     p.txrc_file = '/tmp'
     p.txrc.has_section.side_effect = [False]
     username, password = p.getset_host_credentials('test')
     self.assertEqual(username, 'api')
     self.assertEqual(password, 'environment_value')
     # ensure that we have set host in the txrc_file, even though TX_TOKEN
     # exists
     self.assertEqual(p.txrc.set.call_count, 2)
     p.save.assert_called()
Ejemplo n.º 3
0
 def test_getset_host_credentials_env_variable(
         self, m_parser, m_input):
     p = Project(init=False)
     p.txrc = m_parser
     p.save = Mock()
     p.txrc_file = '/tmp'
     p.txrc.has_section.side_effect = [False]
     username, password = p.getset_host_credentials('test')
     self.assertEqual(username, 'api')
     self.assertEqual(password, 'environment_value')
     self.assertEqual(p.txrc.set.call_count, 2)
     # no input will be asked, password will be used by environment variable
     self.assertEqual(m_input.call_count, 0)
     p.save.assert_called()
Ejemplo n.º 4
0
 def test_getset_host_credentials_both_token_and_env(
         self, m_logger, m_parser):
     p = Project(init=False)
     p.txrc = m_parser
     p.save = Mock()
     p.txrc_file = '/tmp'
     p.txrc.has_section.side_effect = [False]
     username, password = p.getset_host_credentials('test', token='demo')
     self.assertEqual(username, 'api')
     self.assertEqual(password, 'environment_value')
     # ensure that we did not make additional calls to set the token in the
     # txrc file
     self.assertEqual(p.txrc.set.call_count, 2)
     p.save.assert_called()
     self.assertEqual(m_logger.warning.call_count, 1)
Ejemplo n.º 5
0
 def test_getset_host_credentials_no_transifexrc(self, m_parser, m_input):
     p = Project(init=False)
     # let suppose a token has been set at the config
     dummy_token = 'salala'
     p.txrc = m_parser
     p.save = Mock()
     p.validate_credentials = Mock(return_value=True)
     p.txrc_file = '/tmp'
     p.txrc.get.side_effect = configparser.NoSectionError('test')
     m_input.return_value = dummy_token
     username, password = p.getset_host_credentials('test')
     self.assertEqual(username, 'api')
     self.assertEqual(password, dummy_token)
     self.assertEqual(p.txrc.set.call_count, 4)
     self.assertEqual(m_input.call_count, 1)
     p.save.assert_called()
Ejemplo n.º 6
0
    def test_getset_host_credentials_update_transifexrc(
            self, m_parser, m_input):
        p = Project(init=False)
        dummy_token = 'salala'
        p.txrc = m_parser
        p.save = Mock()
        p.txrc_file = '/tmp'
        p.validate_credentials = Mock(return_value=True)
        p.txrc.get.side_effect = [
            'foo', 'bar'
        ]
        # transifexrc does not get updated if credentials are the same
        username, password = p.getset_host_credentials(
            'test', username='******', password='******'
        )
        self.assertEqual(username, 'foo')
        self.assertEqual(password, 'bar')
        self.assertEqual(p.txrc.set.call_count, 0)
        self.assertEqual(m_input.call_count, 0)
        self.assertEqual(p.save.call_count, 0)

        # transifexrc is not updated if confirm is no
        p.txrc.get.side_effect = [
            'foo', 'bar'
        ]
        m_input.return_value = False
        username, password = p.getset_host_credentials('test',
                                                       token=dummy_token)
        self.assertEqual(username, 'api')
        self.assertEqual(password, dummy_token)
        self.assertEqual(p.txrc.set.call_count, 0)
        self.assertEqual(m_input.call_count, 1)
        self.assertEqual(p.save.call_count, 0)

        # transifexrc is not updated if confirm is yes
        p.txrc.get.side_effect = [
            'foo', 'bar'
        ]
        m_input.return_value = True
        m_input.reset_mock()
        username, password = p.getset_host_credentials('test',
                                                       token=dummy_token)
        self.assertEqual(username, 'api')
        self.assertEqual(password, dummy_token)
        self.assertEqual(p.txrc.set.call_count, 2)
        self.assertEqual(m_input.call_count, 1)
        p.save.assert_called()
Ejemplo n.º 7
0
 def test_getset_host_credentials_no_transifexrc(
         self, m_parser, m_input):
     p = Project(init=False)
     # let suppose a token has been set at the config
     dummy_token = 'salala'
     p.txrc = m_parser
     p.save = Mock()
     p.validate_credentials = Mock(return_value=True)
     p.txrc_file = '/tmp'
     p.txrc.get.side_effect = configparser.NoSectionError('test')
     m_input.return_value = dummy_token
     username, password = p.getset_host_credentials('test')
     self.assertEqual(username, 'api')
     self.assertEqual(password, dummy_token)
     self.assertEqual(p.txrc.set.call_count, 2)
     self.assertEqual(m_input.call_count, 1)
     p.save.assert_called()