get the parameterized build unit-test working again
authorsalimfadhley <sal@stodge.org>
Wed, 12 Jun 2013 22:00:48 +0000 (23:00 +0100)
committersalimfadhley <sal@stodge.org>
Wed, 12 Jun 2013 22:00:48 +0000 (23:00 +0100)
jenkinsapi/artifact.py
jenkinsapi/job.py
jenkinsapi/utils/requester.py
jenkinsapi_tests/systests/test_parameterized_builds.py

index d5e90b0..3153bf5 100644 (file)
@@ -62,7 +62,7 @@ class Artifact(object):
     def get_jenkins_obj(self):
         return self.build.get_jenkins_obj()
 
-    def getData(self):
+    def get_data(self):
         """
         Grab the text of the artifact
         """
@@ -74,7 +74,7 @@ class Artifact(object):
         Download the the artifact to a path.
         """
         with open(fspath, "wb") as out:
-            out.write(self.getData())
+            out.write(self.get_data())
         return fspath
 
     def _verify_download(self, fspath):
index 2f8b8ca..9841771 100644 (file)
@@ -114,7 +114,7 @@ class Job(JenkinsBase, MutableJenkinsThing):
 
         response = self.jenkins.requester.post_and_confirm_status(
             url,
-            data=self.mk_json_from_build_parameters(build_params), # See above - build params have to be JSON encoded & posted.
+            data={'json':self.mk_json_from_build_parameters(build_params)}, # See above - build params have to be JSON encoded & posted.
             params=params
         )
 
index a90a9a8..e4ecd41 100644 (file)
@@ -55,7 +55,7 @@ class Requester(object):
         return self.post_and_confirm_status(url, params, data, headers)
 
     def post_and_confirm_status(self, url, params=None, data=None, headers=None):
-        assert isinstance(data, str)
+        assert isinstance(data, (str,dict)), "Unexpected data type: %s" % repr(data)
 
         if not headers:
             headers = {'Content-Type': 'application/x-www-form-urlencoded'}
index 5845c93..4009a09 100644 (file)
@@ -37,18 +37,18 @@ JOB_CONFIG = """
   <builders>
     <hudson.tasks.Shell>
       <command>ping -c 1 localhost | tee out.txt
-cat $A &gt; a.txt
-cat $B &gt; b.txt</command>
+echo $A &gt; a.txt
+echo $B &gt; b.txt</command>
     </hudson.tasks.Shell>
   </builders>
   <publishers>
     <hudson.tasks.ArtifactArchiver>
-      <artifacts></artifacts>
+      <artifacts>*</artifacts>
       <latestOnly>false</latestOnly>
     </hudson.tasks.ArtifactArchiver>
     <hudson.tasks.Fingerprinter>
       <targets></targets>
-      <recordBuildArtifacts>false</recordBuildArtifacts>
+      <recordBuildArtifacts>true</recordBuildArtifacts>
     </hudson.tasks.Fingerprinter>
   </publishers>
   <buildWrappers/>
@@ -71,8 +71,12 @@ class TestParameterizedBuilds(BaseSystemTest):
         artifacts = b.get_artifact_dict()
         self.assertIsInstance(artifacts, dict)
 
-        artA = artifacts['A.txt']
-        artB = artifacts['B.txt']
+        import ipdb
+        ipdb.set_trace()
+
+        artB = artifacts['b.txt']
+
+        self.assertTrue(artB.get_data().strip(), param_B)
 
         # TODO: Actually verify the download