Add some ansible plugin tests

This is not complete, but it's a start.

While doing this it became clear that the upstream csvfile lookup plugin does
not work in python3. Work around that by putting in a simpler version of
the code into our copy.

Change-Id: Ic84d8265e6fd7e15a0e5d66c781409a087d761d7
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/.zuul.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/.zuul.yaml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/.zuul.yaml
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/README b/tests/fixtures/config/ansible/git/org_plugin-project/README
new file mode 100644
index 0000000..9daeafb
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/README
@@ -0,0 +1 @@
+test
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/cartesian.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/cartesian.yaml
new file mode 100644
index 0000000..a2e92a2
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/cartesian.yaml
@@ -0,0 +1,5 @@
+- hosts: all
+  vars:
+    value: "{{ lookup('cartesian', [1, 2], [3, 4]) }}"
+  tasks:
+    - debug: msg="value is {{ value }}"
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/consul_kv.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/consul_kv.yaml
new file mode 100644
index 0000000..8cfee2e
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/consul_kv.yaml
@@ -0,0 +1,5 @@
+- hosts: all
+  tasks:
+    - debug: msg='key contains {{item}}'
+      with_consul_kv:
+        - 'key/to/retrieve'
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/credstash.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/credstash.yaml
new file mode 100644
index 0000000..1a59281
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/credstash.yaml
@@ -0,0 +1,5 @@
+- hosts: all
+  tasks:
+    - debug: msg='key contains {{item}}'
+      with_credstash:
+        - 'key'
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/csvfile_bad.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/csvfile_bad.yaml
new file mode 100644
index 0000000..66e1d84
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/csvfile_bad.yaml
@@ -0,0 +1,5 @@
+- hosts: all
+  vars:
+    value: "{{ lookup('csvfile', 'a file=/etc/passwd') }}"
+  tasks:
+    - debug: msg="value is {{ value }}"
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/csvfile_good.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/csvfile_good.yaml
new file mode 100644
index 0000000..74ef51e
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/csvfile_good.yaml
@@ -0,0 +1,5 @@
+- hosts: all
+  vars:
+    value: "{{ lookup('csvfile', 'a file=test.csv delimiter=,') }}"
+  tasks:
+    - debug: msg="value is {{ value }}"
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/passwd.yaml b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/passwd.yaml
new file mode 100644
index 0000000..cc74802
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/passwd.yaml
@@ -0,0 +1,5 @@
+- hosts: all
+  vars:
+    value: "{{ lookup('file', '/etc/passwd') }}"
+  tasks:
+    - debug: msg="value is {{ value }}"
diff --git a/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/test.csv b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/test.csv
new file mode 100644
index 0000000..b2ffb02
--- /dev/null
+++ b/tests/fixtures/config/ansible/git/org_plugin-project/playbooks/test.csv
@@ -0,0 +1 @@
+a,b,c
diff --git a/tests/fixtures/config/ansible/main.yaml b/tests/fixtures/config/ansible/main.yaml
index 9ccece9..a4e32c2 100644
--- a/tests/fixtures/config/ansible/main.yaml
+++ b/tests/fixtures/config/ansible/main.yaml
@@ -6,4 +6,5 @@
           - common-config
         untrusted-projects:
           - org/project
+          - org/plugin-project
           - bare-role