This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 848b05b  Tests for _svn_build_cmd
848b05b is described below

commit 848b05bd4ec9218e73f0346fa6f198eabdca9d11
Author: Sebb <s...@apache.org>
AuthorDate: Sun Jun 28 20:45:40 2020 +0100

    Tests for _svn_build_cmd
---
 lib/spec/lib/svn_spec.rb | 47 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/lib/spec/lib/svn_spec.rb b/lib/spec/lib/svn_spec.rb
index cad0cd3..f46df50 100644
--- a/lib/spec/lib/svn_spec.rb
+++ b/lib/spec/lib/svn_spec.rb
@@ -292,4 +292,51 @@ describe ASF::SVN do
     end
 
   end
+
+  describe "ASF::SVN._svn_build_cmd" do
+    it "_svn_build_cmd('help', 'path', {}) should include path" do
+      cmd, stdin = ASF::SVN._svn_build_cmd('help', 'path', {})
+      expect(stdin).to eq(nil)
+      expect(cmd).to eq(["svn", "help", "--non-interactive", "--", "path"])
+    end
+
+    it "_svn_build_cmd('help', 'path', {user: 'whimsy'}) should not include 
username" do
+      cmd, stdin = ASF::SVN._svn_build_cmd('help', 'path', {user: 'whimsy'})
+      expect(stdin).to eq(nil)
+      expect(cmd).to eq(["svn", "help", "--non-interactive", "--", "path"])
+    end
+
+    it "_svn_build_cmd('help', 'path', {user: 'whimsy', password: 'pass}) 
should include username" do
+      cmd, stdin = ASF::SVN._svn_build_cmd('help', 'path', {user: 'whimsy', 
password: 'pass'})
+      exp = ["svn", "help", "--non-interactive", ["--username", "whimsy", 
"--no-auth-cache"], "--", "path"]
+      if res = ASF::SVN.passwordStdinOK?
+        expect(stdin).to eq('pass')
+        expect(cmd-exp).to eq([["--password-from-stdin"]])
+      else
+        expect(stdin).to eq(nil)
+        expect(cmd-exp).to eq([["--password", "pass"]])
+      end
+    end
+
+    it "_svn_build_cmd('help', 'path', {user: 'whimsysvn'}) should include 
username" do
+      cmd, stdin = ASF::SVN._svn_build_cmd('help', 'path', {user: 'whimsysvn'})
+      expect(stdin).to eq(nil)
+      expect(cmd).to eq(["svn", "help", "--non-interactive", ["--username", 
"whimsysvn", "--no-auth-cache"], "--", "path"])
+    end
+
+    it "_svn_build_cmd('help', 'path', {user: 'whimsysvn', dryrun: false}) 
should include username" do
+      cmd, stdin = ASF::SVN._svn_build_cmd('help', 'path', {user: 'whimsysvn', 
dryrun: false})
+      expect(stdin).to eq(nil)
+      expect(cmd).to eq(["svn", "help", "--non-interactive", ["--username", 
"whimsysvn", "--no-auth-cache"], "--", "path"])
+    end
+    it "_svn_build_cmd('help', 'path', {user: 'whimsysvn', dryrun: true}) 
should not include username" do
+      cmd, stdin = ASF::SVN._svn_build_cmd('help', 'path', {user: 'whimsysvn', 
dryrun: true})
+      expect(stdin).to eq(nil)
+      expect(cmd).to eq(["svn", "help", "--non-interactive", "--", "path"])
+    end
+
+    it "_svn_build_cmd('help', 'path', {_error: true})  should raise error" do
+      expect { ASF::SVN._svn_build_cmd('help', 'path', {_error: true}) }.to 
raise_error(ArgumentError, "Following options not recognised: [:_error]")
+    end
+  end
 end

Reply via email to