
############
WebUserAgent
############


****
NAME
****


Kernel::System::UnitTest::WebUserAgent - WebUserAgent lib


********
SYNOPSIS
********


All WebUserAgent functions


****************
PUBLIC INTERFACE
****************


new()
=====


create an object


.. code-block:: perl

     use Kernel::System::ObjectManager;
     local $Kernel::OM = Kernel::System::ObjectManager->new();
     my $UnitTestWebUserAgentObject = $Kernel::OM->Get('Kernel::System::UnitTest::WebUserAgent');



Mock()
======


Mocks all outgoing requests to a given mapping.


.. code-block:: perl

     my $Success = $UnitTestWebUserAgentObject->Mock(
         URL            => qr/testserver\/success/,
         Status         => 'OK',
         StatusCode     => '200',
         Header         => [ 'Content-Type' => 'application/json' ],
         Body           => '{ "access_token": "123", "token_type": "ABC" }',
     );


Returns:


.. code-block:: perl

     my $Success = 1;



LastResponseGet()
=================


Returns the last response of the overwritten user agent.


.. code-block:: perl

     my %Response = $Object->LastResponseGet();


Returns:


.. code-block:: perl

     my %Response = (
           'Status' => 'OK',
           'Body' => '{ "access_token": "123", "token_type": "ABC" }',
           'Header' => 'Content-Type: application/json
 Client-Date: Wed, 25 Jan 2017 11:10:00 GMT
 ',
           'URL' => 'http://blub/rest',
           'StatusCode' => 200
     );



LastRequestGet()
================


Returns the last request of the overwritten user agent.


.. code-block:: perl

     my %Request = $Object->LastRequestGet();


Returns:


.. code-block:: perl

     my %Request = (
           'Body' => '=',
           'URL' => 'http://blub/rest',
           'Method' => 'POST',
           'Header' => 'Authorization: Basic AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
 User-Agent: OTRS 4.0.x git
 Content-Length: 1
 Content-Type: application/x-www-form-urlencoded
 '
     );



Reset()
=======


Removes all mocks and mocking status.


.. code-block:: perl

     my $Success = $UnitTestWebUserAgentObject->Reset();


Returns:


.. code-block:: perl

     my $Success = 1;



_OverwrittenUserAgentRestore()
==============================


Restores overwritten user agent.


.. code-block:: perl

     my $Success = $UnitTestWebUserAgentObject->_OverwrittenUserAgentRestore();


Returns:


.. code-block:: perl

     my $Success = 1;




