]> git.scottworley.com Git - pinch/blobdiff - tests/reject-duplicates.sh
Reject duplicate channel names
[pinch] / tests / reject-duplicates.sh
diff --git a/tests/reject-duplicates.sh b/tests/reject-duplicates.sh
new file mode 100755 (executable)
index 0000000..34e12c7
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+repo_dir1="`mktemp -d`"
+repo1="$repo_dir1/repo"
+git init "$repo1"
+(
+  cd "$repo1"
+  echo Contents > test-file
+  git add test-file
+  git commit -m 'Commit message'
+)
+
+repo_dir2="`mktemp -d`"
+repo2="$repo_dir2/repo"
+git init "$repo2"
+(
+  cd "$repo2"
+  echo Contents > test-file
+  git add test-file
+  git commit -m 'Commit message'
+)
+
+conf1="`mktemp`"
+cat > "$conf1" <<EOF
+[same]
+git_repo = file://$repo1
+git_ref = master
+EOF
+
+conf2="`mktemp`"
+cat > "$conf2" <<EOF
+[same]
+git_repo = file://$repo2
+git_ref = master
+EOF
+
+python3 ./pinch.py pin "$conf1"
+python3 ./pinch.py pin "$conf2"
+
+if python3 ./pinch.py update --dry-run "$conf1" "$conf2";then
+  echo "FAIL: Duplicate names should be rejected"
+  exit 1
+else
+  echo PASS
+fi
+
+rm -rf "$repo_dir1" "$repo_dir2" "$conf1" "$conf2"
+