anchor.diff:      CLASS-METHODS:
         append
           IMPORTING iv_uri  TYPE string
  -                  iv_auth TYPE string.
  +                  iv_auth TYPE string
  +        RAISING   lcx_exception.
   
   ENDCLASS.
   
   CLASS ltcl_login_manager DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
   
     PRIVATE SECTION.
  +    CONSTANTS: c_username TYPE string VALUE 'Aladdin',
  +               c_password TYPE string VALUE 'OpenSesame'.
  +
       METHODS:
  -      test1 FOR TESTING.
  +      setup,
  +      teardown,
  +      encoding FOR TESTING
  +        RAISING lcx_exception,
  +      same_server FOR TESTING
  +        RAISING lcx_exception.
   
   ENDCLASS.
   
   CLASS ltcl_login_manager IMPLEMENTATION.
   
  -  METHOD test1.
  +  METHOD setup.
  +    lcl_login_manager=>clear( ).
  +  ENDMETHOD.
  +
  +  METHOD teardown.
  +    lcl_login_manager=>clear( ).
  +  ENDMETHOD.
  +
  +  METHOD encoding.
   
       DATA: lv_auth TYPE string.
   
       lv_auth = lcl_login_manager=>set(
  -      iv_uri      = 'foobar'
  -      iv_username = 'Aladdin'
  -      iv_password = 'OpenSesame' ).
  +      iv_uri      = 'https://github.com/larshp/abapGit.git'
  +      iv_username = c_username
  +      iv_password = c_password ).
   
       cl_abap_unit_assert=>assert_equals(
  -        act = lv_auth
  -        exp = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l' ).
  +      act = lv_auth
  +      exp = 'Basic QWxhZGRpbjpPcGVuU2VzYW1l' ).
   
     ENDMETHOD.
   
  +  METHOD same_server.
  +
  +    CONSTANTS: lc_github1 TYPE string VALUE 'https://github.com/larshp/abapGit.git',
  +               lc_github2 TYPE string VALUE 'https://github.com/larshp/Foobar.git'.
  +
  +    DATA: lv_auth1 TYPE string,
  +          lv_auth2 TYPE string.
  +
  +
  +    lcl_login_manager=>set(
  +      iv_uri      = lc_github1
  +      iv_username = c_username
  +      iv_password = c_password ).
  +
  +    lv_auth1 = lcl_login_manager=>load( lc_github1 ).
  +    lv_auth2 = lcl_login_manager=>load( lc_github2 ).
  +
  +    cl_abap_unit_assert=>assert_equals(
  +      act = lv_auth1
  +      exp = lv_auth2 ).
  +
  +  ENDMETHOD.
  +
   ENDCLASS.
   
   CLASS lcl_login_manager IMPLEMENTATION.
  +
  +  METHOD clear.
  +    CLEAR gt_auth.
  +  ENDMETHOD.
   
     METHOD set.
   
  
positive.code:   PUBLIC SECTION.
      CLASS-METHODS:
        load
          IMPORTING iv_uri    TYPE string
                    ii_client TYPE REF TO if_http_client
          RAISING   lcx_exception,
        save
          IMPORTING iv_uri    TYPE string
                    ii_client TYPE REF TO if_http_client
          RAISING   lcx_exception,
        set
          IMPORTING iv_uri         TYPE string
                    iv_username    TYPE string
                    iv_password    TYPE string
          RETURNING VALUE(rv_auth) TYPE string.
  
    PRIVATE SECTION.
      TYPES: BEGIN OF ty_auth,
  
negative.code: * See http://www.abapgit.org
  
  CONSTANTS: gc_xml_version  TYPE string VALUE 'v1.0.0',      "#EC NOTEXT
             gc_abap_version TYPE string VALUE 'v1.11.13'.    "#EC NOTEXT
  
  ********************************************************************************
  * The MIT License (MIT)
  