TestLinkClient 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/TestLinkClient.rb +66 -24
  2. metadata +2 -2
@@ -8,6 +8,7 @@ require 'xmlrpc/client'
8
8
  #- 0.01 2008/12/14 �V�K�쐬
9
9
  #- 0.02 2008/12/15 �擪�Ƀo�C�i���������Ă����̂ŏC��
10
10
  #- 0.03 2008/12/15 �R�����g��lj�
11
+ #- 0.04 2008/12/16 getProjectID,getTestPlanID,getBuildID�ōł��r���hID�̑傫��ID��Ԃ��悤�ύX.getStatusByTCName��lj�
11
12
  #
12
13
 
13
14
 
@@ -614,12 +615,12 @@ class TestLinkClient
614
615
  #
615
616
  #=== �߂�l
616
617
  #
617
- # �ŏ��Ɍ��‚������A�N�e�B�u�ȃe�X�g�v���W�F�N�gID
618
+ # �ł��傫���i�ŐV�́jID�ŃA�N�e�B�u�ȃe�X�g�v���W�F�N�gID
618
619
  # �� 3
619
620
  #
620
621
  #=== �ڍ�
621
622
  #
622
- # �ŏ��Ɍ��‚������A�N�e�B�u�ȃe�X�g�v���W�F�N�gID���Ԃ�܂�
623
+ # �ł��傫���i�ŐV�́jID�ŃA�N�e�B�u�ȃe�X�g�v���W�F�N�gID���Ԃ�܂�
623
624
  #
624
625
  #=== ��
625
626
  # getProjectID #=>3
@@ -627,11 +628,10 @@ class TestLinkClient
627
628
  def getProjectID
628
629
  args = {"devKey"=>@devKey}
629
630
  ret = @server.call("tl.getProjects",args)
630
- ret.each{|prj|
631
- if prj["active"] == "1" then
632
- return prj["id"]
633
- end
634
- }
631
+ val = ret.select{|x|x["active"]=="1"}.sort{|a,b|a["id"].to_i<=>b["id"].to_i}
632
+ if not val.nil? then
633
+ return val[-1]["id"]
634
+ end
635
635
  raise "ProjectID error"
636
636
  end
637
637
 
@@ -647,12 +647,12 @@ class TestLinkClient
647
647
  #
648
648
  #=== �߂�l
649
649
  #
650
- # �ŏ��Ɍ��‚������A�N�e�B�u�ȃe�X�g�v��ID
650
+ # �ł��傫���i�ŐV�́jID�ŃA�N�e�B�u�ȃe�X�g�v��ID
651
651
  # �� 3
652
652
  #
653
653
  #=== �ڍ�
654
654
  #
655
- # �ŏ��Ɍ��‚������A�N�e�B�u�ȃe�X�g�v��ID���Ԃ�܂�
655
+ # �ł��傫���i�ŐV�́jID�ŃA�N�e�B�u�ȃe�X�g�v��ID���Ԃ�܂�
656
656
  #
657
657
  #=== ��
658
658
  # getTestPlanID(3) #=>4
@@ -660,13 +660,17 @@ class TestLinkClient
660
660
  def getTestPlanID(pid)
661
661
  args = {"devKey"=>@devKey,"testprojectid"=>pid}
662
662
  ret = @server.call("tl.getProjectTestPlans",args)
663
- ret.each{|tp|
664
- tp.each{|id,val|
665
- if val["active"] == "1" then
666
- return val["id"]
667
- end
663
+ tpid=[]
664
+
665
+ ret.each{|item|
666
+ item.each{|key,val|
667
+ tpid << key.to_i
668
668
  }
669
669
  }
670
+ tpid.sort
671
+ if tpid.size != 0 then
672
+ return tpid[-1]
673
+ end
670
674
  raise "TestPlanID error"
671
675
  end
672
676
 
@@ -682,12 +686,12 @@ class TestLinkClient
682
686
  #
683
687
  #=== �߂�l
684
688
  #
685
- # �ŏ��Ɍ��‚������A�N�e�B�u�ȃr���hID
689
+ # �ł��傫���i�ŐV�́jID�ŃA�N�e�B�u�ŃI�[�v���ȃr���hID
686
690
  # �� 3
687
691
  #
688
692
  #=== �ڍ�
689
693
  #
690
- # �ŏ��Ɍ��‚������A�N�e�B�u�ȃr���hID���Ԃ�܂�
694
+ # �ł��傫���i�ŐV�́jID�ŃA�N�e�B�u�ŃI�[�v���ȃr���hID���Ԃ�܂�
691
695
  #
692
696
  #=== ��
693
697
  # getBuildID(tpid) #=>4
@@ -695,18 +699,17 @@ class TestLinkClient
695
699
  def getBuildID(tpid)
696
700
  args = {"devKey"=>@devKey,"testplanid"=>tpid}
697
701
  ret = @server.call("tl.getBuildsForTestPlan",args)
698
- ret.each{|val|
699
- if val["active"] == "1" then
700
- return val["id"]
701
- end
702
- }
702
+ val = ret.select{|x|x["active"]=="1" and x["is_open"]=="1" }.sort{|a,b|a["id"].to_i<=>b["id"].to_i}
703
+ if not val.nil? then
704
+ return val[-1]["id"]
705
+ end
703
706
  raise "BuildID error"
704
707
  end
705
708
 
706
709
  #
707
710
  #=== �T�v
708
711
  #
709
- # reportTCResultByTCName(testcasename,testsuitename,status)
712
+ # reportTCResultByTCName(testcasename,testsuitename,status,notes)
710
713
  #
711
714
  #=== ����
712
715
  #
@@ -716,6 +719,8 @@ class TestLinkClient
716
719
  # �e�X�g�X�C�[�g��
717
720
  #+status+::
718
721
  # �e�X�g���� p:���� f:���s b:�u���b�N
722
+ #+notes+::
723
+ # �m�[�g�i�I�v�V�����j
719
724
  #
720
725
  #=== �߂�l
721
726
  #
@@ -729,14 +734,51 @@ class TestLinkClient
729
734
  #=== ��
730
735
  # reportTCResultByTCName(testcasename,testsuitename,"p") #=>[{"message"=>"Success!", "status"=>true, "id"=>"1638"}]
731
736
  #
732
- def reportTCResultByTCName(testcasename,testsuitename,status)
737
+ def reportTCResultByTCName(testcasename,testsuitename,status,notes=nil)
733
738
  pid = getProjectID
734
739
  tpid = getTestPlanID(pid)
735
740
  bid = getBuildID(tpid)
736
741
  ret = getTestCaseIDByName(testcasename,testsuitename)
737
742
  tcInfo = ret[0]
738
743
  tcid = tcInfo["id"]
739
- ret = reportTCResult(tpid,tcid,status,bid)
744
+ ret = reportTCResult(tpid,tcid,status,bid,notes)
745
+ end
746
+
747
+
748
+ #
749
+ #=== �T�v
750
+ #
751
+ # getStatusByTCName(testcasename,testsuitename)
752
+ #
753
+ #=== ����
754
+ #
755
+ #+testcasename+::
756
+ # �e�X�g�P�[�X��
757
+ #+testsuitename+::
758
+ # �e�X�g�X�C�[�g��
759
+ #
760
+ #=== �߂�l
761
+ #
762
+ # �e�X�g���� p:���� f:���s b:�u���b�N ��Ԃ�
763
+ #
764
+ #=== �ڍ�
765
+ #
766
+ # �e�X�g�P�[�X���y�уe�X�g�X�C�[�g���Ńe�X�g�P�[�X�̎������ʂ𓾂�
767
+ #
768
+ #=== ��
769
+ # getStatusByTCName(testcasename,testsuitename,status) #=>"p"
770
+ #
771
+ def getStatusByTCName(testcasename,testsuitename)
772
+ pid = getProjectID
773
+ tpid = getTestPlanID(pid)
774
+ bid = getBuildID(tpid)
775
+ ret = getTestCaseIDByName(testcasename,testsuitename)
776
+ tcInfo = ret[0]
777
+ tcid = tcInfo["id"]
778
+ ret = getTestCasesForTestPlan(tpid,tcid)
779
+ ret.each{|key,val|
780
+ return val["exec_status"]
781
+ }
740
782
  end
741
783
  end
742
784
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: TestLinkClient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - SADAHIKO Hantani
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-15 00:00:00 +09:00
12
+ date: 2008-12-17 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies: []
15
15