예제 #1
0
    def test_logoff(self):
        """Test Session.logoff() (and also Session.is_logon())."""

        with requests_mock.Mocker() as m:

            self.mock_server_1(m)

            # Create a session in logged-off state
            session = Session('fake-host', 'fake-userid', 'fake-pw')

            session.logon()

            logged_on = session.is_logon()
            assert logged_on

            # The code to be tested:
            session.logoff()

            assert session.session_id is None
            assert session.session is None
            assert 'X-API-Session' not in session.headers
            assert len(session.headers) == 2

            logged_on = session.is_logon()
            assert not logged_on
예제 #2
0
    def test_logon(
            self, host, userid, password, use_get_password, exp_exc):
        """Test Session.logon() (and also Session.is_logon())."""

        with requests_mock.Mocker() as m:

            self.mock_server_1(m)

            if use_get_password:
                get_password = mock.MagicMock()
                get_password.return_value = \
                    'fake-pw-{}-{}'.format(host, userid)
            else:
                get_password = None

            # Create a session in logged-off state
            session = Session(host, userid, password, None, get_password)

            assert session.session_id is None
            assert 'X-API-Session' not in session.headers
            assert session.session is None

            logged_on = session.is_logon()
            assert not logged_on

            if exp_exc:
                try:

                    # The code to be tested:
                    session.logon()

                except exp_exc:
                    pass

                logged_on = session.is_logon()
                assert not logged_on
            else:

                # The code to be tested:
                session.logon()

                assert session.session_id == 'fake-session-id'
                assert 'X-API-Session' in session.headers
                assert isinstance(session.session, requests.Session)

                if get_password:
                    if password is None:
                        get_password.assert_called_with(host, userid)
                        assert session._password == get_password.return_value
                    else:
                        get_password.assert_not_called()

                logged_on = session.is_logon()
                assert logged_on