github.com/stffabi/git-lfs@v2.3.5-0.20180214015214-8eeaa8d88902+incompatible/test/test-askpass.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  . "test/testlib.sh"
     4  
     5  begin_test "askpass: push with GIT_ASKPASS"
     6  (
     7    set -e
     8  
     9    reponame="askpass-with-git-environ"
    10    setup_remote_repo "$reponame"
    11    clone_repo "$reponame" "$reponame"
    12  
    13    git lfs track "*.dat"
    14    echo "hello" > a.dat
    15  
    16    git add .gitattributes a.dat
    17    git commit -m "initial commit"
    18  
    19    # $password is defined from test/cmd/lfstest-gitserver.go (see: skipIfBadAuth)
    20    export LFS_ASKPASS_USERNAME="user"
    21    export LFS_ASKPASS_PASSWORD="pass"
    22    git config "credential.helper" ""
    23    GIT_ASKPASS="lfs-askpass" SSH_ASKPASS="dont-call-me" GIT_TRACE=1 GIT_CURL_VERBOSE=1 git push origin master 2>&1 | tee push.log
    24  
    25    GITSERVER_USER="$(printf $GITSERVER | sed -e 's/http:\/\//http:\/\/user@/')"
    26  
    27    grep "filling with GIT_ASKPASS: lfs-askpass Username for \"$GITSERVER/$reponame\"" push.log
    28    grep "filling with GIT_ASKPASS: lfs-askpass Password for \"$GITSERVER_USER/$reponame\"" push.log
    29    grep "master -> master" push.log
    30  )
    31  end_test
    32  
    33  begin_test "askpass: push with core.askPass"
    34  (
    35    set -e
    36  
    37    if [ ! -z "$TRAVIS" ] ; then
    38      # This test is known to be broken on Travis, so we skip it if the $TRAVIS
    39      # environment variable is set.
    40      #
    41      # See: https://github.com/git-lfs/git-lfs/pull/2500 for more.
    42      exit 0
    43    fi
    44  
    45    reponame="askpass-with-config"
    46    setup_remote_repo "$reponame"
    47    clone_repo "$reponame" "$reponame"
    48  
    49    git lfs track "*.dat"
    50    echo "hello" > a.dat
    51  
    52    git add .gitattributes a.dat
    53    git commit -m "initial commit"
    54  
    55    # $password is defined from test/cmd/lfstest-gitserver.go (see: skipIfBadAuth)
    56    export LFS_ASKPASS_PASSWORD="pass"
    57    git config "credential.helper" ""
    58    git config "core.askPass" "lfs-askpass"
    59    cat .git/config
    60    SSH_ASKPASS="dont-call-me" GIT_TRACE=1 GIT_CURL_VERBOSE=1 git push origin master 2>&1 | tee push.log
    61  
    62    GITSERVER_USER="$(printf $GITSERVER | sed -e 's/http:\/\//http:\/\/user@/')"
    63  
    64    grep "filling with GIT_ASKPASS: lfs-askpass Username for \"$GITSERVER/$reponame\"" push.log
    65    grep "filling with GIT_ASKPASS: lfs-askpass Password for \"$GITSERVER_USER/$reponame\"" push.log
    66    grep "master -> master" push.log
    67  )
    68  end_test
    69  
    70  begin_test "askpass: push with SSH_ASKPASS"
    71  (
    72    set -e
    73  
    74    if [ ! -z "$TRAVIS" ] ; then
    75      # This test is known to be broken on Travis, so we skip it if the $TRAVIS
    76      # environment variable is set.
    77      #
    78      # See: https://github.com/git-lfs/git-lfs/pull/2500 for more.
    79      exit 0
    80    fi
    81  
    82    reponame="askpass-with-ssh-environ"
    83    setup_remote_repo "$reponame"
    84    clone_repo "$reponame" "$reponame"
    85  
    86    git lfs track "*.dat"
    87    echo "hello" > a.dat
    88  
    89    git add .gitattributes a.dat
    90    git commit -m "initial commit"
    91  
    92    # $password is defined from test/cmd/lfstest-gitserver.go (see: skipIfBadAuth)
    93    export LFS_ASKPASS_USERNAME="user"
    94    export LFS_ASKPASS_PASSWORD="pass"
    95    git config "credential.helper" ""
    96    SSH_ASKPASS="lfs-askpass" GIT_TRACE=1 GIT_CURL_VERBOSE=1 git push origin master 2>&1 | tee push.log
    97  
    98    GITSERVER_USER="$(printf $GITSERVER | sed -e 's/http:\/\//http:\/\/user@/')"
    99  
   100    grep "filling with GIT_ASKPASS: lfs-askpass Username for \"$GITSERVER/$reponame\"" push.log
   101    grep "filling with GIT_ASKPASS: lfs-askpass Password for \"$GITSERVER_USER/$reponame\"" push.log
   102    grep "master -> master" push.log
   103  )
   104  end_test