UNPKG

7.49 kBJavaScriptView Raw
1!function(){var e=require("./Logger.js"),t=(require("request-promise"),require("./RallyHelper.js"),require("./RallyLogger.js"));require("dotenv").config();var s;s=void 0!=process.env.build_no?process.env.build_no:1;var n,r,o,i,l,c,u,a,p,_,j,d,f,g="",h=[];module.exports=new function(){function m(e,s,n,r,o){return new Promise(function(o,i){t.getUSTSRef(e,s,n,r,o)})}function b(e,s,n){return new Promise(function(n,r){t.UserPermissions(e,s,n)})}function v(e,s,n){return new Promise(function(n,r){t.updateTestSet(e,s,n)})}function w(e,t,s){return new Promise(function(s,n){require("./RallyMethods.js").TestCaseResult(e,t,s)})}function y(e,t){return new Promise(function(t,s){T(e,t)})}var R,P,T=function(e,t){P=0,h=[];var s=!1,i=!1;for(k=0;k<e.resp.json[e.i].elements[e.j].steps.length;k++){if(_=e.resp.json[e.i].elements[e.j].steps.length,void 0!=e.resp.json[e.i].elements[e.j].steps[k].result.duration&&"undefined"!=e.resp.json[e.i].elements[e.j].steps[k].result.duration?P+=e.resp.json[e.i].elements[e.j].steps[k].result.duration:P+=0,r=e.resp.json[e.i].elements[e.j].steps[k].keyword,o=void 0!=e.resp.json[e.i].elements[e.j].description?e.resp.json[e.i].elements[e.j].description:"",void 0!=e.resp.json[e.i].elements[e.j].steps[k].result.error_message?(g=e.resp.json[e.i].elements[e.j].steps[k].result.error_message,g=g.substring(0,400)):g="",a=void 0!=e.resp.json[e.i].elements[e.j].steps[k].match?e.resp.json[e.i].elements[e.j].steps[k].match.location:0,"Before"!=e.resp.json[e.i].elements[e.j].steps[k].keyword||"After"!=e.resp.json[e.i].elements[e.j].steps[k].keyword){if(void 0==(n=e.resp.json[e.i].elements[e.j].steps[k].name))break;h.push("<br>"+parseInt(k+1)+". "+n)}void 0==e.resp.json[e.i].elements[e.j].steps[k].result.status||"undefined"==e.resp.json[e.i].elements[e.j].steps[k].result.status?i=!0:R=e.resp.json[e.i].elements[e.j].steps[k].result.status,"failed"==R&&(s=!0)}if(k==e.resp.json[e.i].elements[e.j].steps.length-1)return 0==k?(P=(P/1e9).toFixed(2),s?R="failed":i&&(R=void 0)):(P=(P/k/1e9).toFixed(2),s?R="failed":i&&(R=void 0)),t(e)};return{TestCaseFound:function(e,s){e.resp.revision_history_ref,b("","").then(function(n){var r=n.owner_id;y(e).then(function(n){e.stepsArray=h,void 0!=process.env.overwrite_US&&"true"==process.env.overwrite_US&&(e.User_Story=process.env.user_story),m(e.User_Story,e.ws,e.proj,"hierarchicalrequirement").then(function(n){(function(e,s,n,r){return new Promise(function(r,o){t.updateTestCase(e,s,n,r)})})({resp:n,owner:r,tcObj:e,error:g},e.ws,e.proj).then(function(t){m(e.testset,e.ws,e.proj,"testset").then(function(t){t.status=R,t.duration=P,t.i=f,t.j=e.j,t.json=d,v(e,t).then(function(t){w(e,t).then(function(e){return s("step i"==e?"step i":"step j"==e?"step j":"callback")})}).catch(function(e){s("callback")})}).catch(function(e){s("callback")})}).catch(function(e){s("callback")})}).catch(function(e){s("callback")})}).catch(function(e){s("callback")})})},noTestCaseFound:function(e,s,n){void 0!=process.env.overwrite_US&&"true"==process.env.overwrite_US&&(e.User_Story=process.env.user_story),m(e.User_Story,e.ws,e.proj,"hierarchicalrequirement").then(function(r){e.User_Story=r.id,b("","").then(function(r){e.owner=r.owner_id,function(e,s,n,r){return new Promise(function(r,o){t.createTestcase(e,s,n,r)})}({tcObj:e,kObj:s,error:g},e.ws,e.proj).then(function(t){i=t.id,t.json=d,t.i=f,t.j=e.j,t.duration=s.duration,t.status=s.status,e.glb_test_case_id=t.id,m(e.testset,e.ws,e.proj,"testset").then(function(t){t.status=R,t.duration=P,t.i=f,t.j=e.j,t.json=d,v(e,t).then(function(t){e.last_run=!1,require("./RallyMethods.js"),w(e,t).then(function(e){n("step i"==e?"step i":"step j"==e?"step j":"callback")})}).catch(function(e){n("callback")})}).catch(function(e){n("callback")})}).catch(function(e){n("callback")})})}).catch(function(e){n("callback")})},TestFolderFound:function(e,n,r){d=n.json,f=n.i,glb_folder_id=n.id;var o=function(a,_){a<n.json[n.i].elements.length&&(p=n.json[n.i].elements.length,c=n.json[n.i].elements[a].name,temp=c.split(":"),void 0!=temp[1]?(j=temp[0],c=temp[1]):j=void 0!=process.env.user_story?process.env.user_story:"",u=n.json[n.i].elements[a].description,n.json[n.i].elements[a].line,function(n,a){(function(e,s,n,r,o){return new Promise(function(o,i){t.getObjectRef(e,s,n,r,o)})})("testcase",c,e.proj,e.ws).then(function(t){i=t.id;var _=t.last_run;if(l=t.test_case_result_id,"NOT_FOUND"!=t)t.json=d,t.i=f,t.j=n,g={User_Story:j,resp:t,j:n,test_case_name:c,test_case_description:u,glb_folder_id:glb_folder_id,build_num:s,testset:e.testset,glb_test_case_id:i,glb_test_result_id:l,last_run:_,glb_i_length:e.glb_i_length,glb_j_length:p,i:f,ws:e.ws,proj:e.proj,testset_defined_env:e.testset_defined_env,stepsArray:h},require("./RallyMethods.js").TestCaseFound(g,function(e){"step i"==e?r("step i"):"step j"==e?o(n+1,a):r("callback")});else{var g;y(g={User_Story:j,resp:t={json:d,i:f,j:n},j:n,test_case_name:c,test_case_description:u,glb_folder_id:glb_folder_id,build_num:s,testset:e.testset,glb_test_case_id:i,glb_test_result_id:l,last_run:_,glb_i_length:e.glb_i_length,glb_j_length:p,i:f,ws:e.ws,proj:e.proj,testset_defined_env:e.testset_defined_env}).then(function(e){var t={duration:void 0,status:R,response:e,stepsArray:h};g.stepsArray=h,require("./RallyMethods.js").noTestCaseFound(g,t,function(e){"step i"==e?r("step i"):"step j"==e?o(n+1,a):r("callback")})})}}).catch(function(e){console.log("error: "+e),r()})}(a,_))};o(0)},noTestFolderFound:function(e,n,r){d=n.json,f=n.i;var o=n.test_plan;n.json[n.i].description,function(e,s,n,r){return new Promise(function(r,o){t.createTestPlan(e,s,n,r)})}(o,e.ws,e.proj).then(function(t){t.json=d,t.i=f;var n=function(o,i){if(o<t.json[t.i].elements.length){p=t.json[t.i].elements.length,glb_folder_id=t.id,c=t.json[t.i].elements[o].name,temp=c.split(":"),void 0!=temp[1]?(j=temp[0],c=temp[1]):j=void 0!=process.env.user_story?process.env.user_story:"",u=d[t.i].elements[o].description,d[t.i].elements[o].line;var l={User_Story:j,test_case_name:c,test_case_description:u,glb_folder_id:t.id,resp:t,build_num:s,testset:e.testset,glb_i_length:e.glb_i_length,glb_j_length:p,j:o,i:f,ws:e.ws,proj:e.proj,testset_defined_env:e.testset_defined_env,stepsArray:h};!function(e,s){t.j=e,y(l).then(function(t){l.stepsArray=h;var o=require("./RallyMethods.js"),i={duration:P,status:R,response:t,stepsArray:h};o.noTestCaseFound(l,i,function(t){"step i"==t?r("step i"):"step j"==t?n(e+1,s):r("callback")})})}(o,i)}};n(0)})},TestCaseResult:function(s,n,r){if(void 0==n.status||"undefined"==n.status)n.i==s.glb_i_length-1&&n.j==s.glb_j_length-1?(e.info("Rally Results Posted"),console.log("Rally Results Posted"),r("callback")):r(n.j==s.glb_j_length-1?"step i":"step j");else if(1==s.last_run)n.duration=P,n.status=R,function(e,s,n,r){return new Promise(function(r,o){t.updateTestCaseResult(e,s,n,r)})}(o={tcObj:s,resp:n},s.ws,s.proj).then(function(t){if(f==s.glb_i_length-1&&s.j==s.glb_j_length-1)return e.info("Rally Results Posted"),console.log("Rally Results Posted"),r("callback");r(s.j==s.glb_j_length-1?"step i":"step j")}).catch(function(e){r("callback")});else{var o={tcObj:s,resp:n};(function(e,s,n,r){return new Promise(function(r,o){t.createTestcaseResult(e,s,n,r)})})(o,s.ws,s.proj).then(function(t){return t.i=f,t.j=s.j,t.i==s.glb_i_length-1&&t.j==s.glb_j_length-1?(e.info("Rally Results Posted"),console.log("Rally Results Posted"),r("callback")):r(t.j==s.glb_j_length-1?"step i":"step j")}).catch(function(e){console.log("error: "+e),r("callback")})}}}}}();
\No newline at end of file