mantis_ruby 0.0.0
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.
- checksums.yaml +7 -0
- data/lib/mantis_ruby.rb +151 -0
- metadata +45 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 7f0503ed8b0ed58cc50e58959dab44b762ae9b48
|
|
4
|
+
data.tar.gz: bcb4579217664d02ba5934fdb0c4bbf07f91b379
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 1ec9ba1bcfdd93f54db749abd1c4403cad53f87098aa3855173eaff486141976a40caa753ce1033fdb4da01d3679ed4f6ecf5e89cd6c5f4eb508eb1f686a8983
|
|
7
|
+
data.tar.gz: 68bc19b38c7101592e556589c18a752fceadfbca762f536375dca44f8eb35ce6d715fbd235729a412f5c6a8ea01f7b60879d56a2e83606a289005d3a74be027f
|
data/lib/mantis_ruby.rb
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
require 'httpclient'
|
|
2
|
+
require 'savon'
|
|
3
|
+
|
|
4
|
+
class MantisRuby
|
|
5
|
+
def self.hi
|
|
6
|
+
puts "Hello world!"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def initialize(username,password,wsdl)
|
|
10
|
+
@username=username
|
|
11
|
+
@password=password
|
|
12
|
+
@wsdl=wsdl
|
|
13
|
+
puts connect_to_tracker
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def connect_to_tracker
|
|
17
|
+
@client = Savon.client(wsdl: "#{self.wsdl}/api/soap/mantisconnect.php?wsdl" )
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def check_version
|
|
21
|
+
client=connect_to_tracker
|
|
22
|
+
@response=client.call(:mc_version)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def projects_get_user_accessible
|
|
26
|
+
client=connect_to_tracker
|
|
27
|
+
@response=client.call(:mc_projects_get_user_accessible,message: {username: self.client_id,
|
|
28
|
+
password: self.client_key})
|
|
29
|
+
JSON.parse(@response.to_json)["mc_projects_get_user_accessible_response"]["return"]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def push_all_bugs
|
|
33
|
+
client=connect_to_tracker
|
|
34
|
+
# self.is_busy = true
|
|
35
|
+
# self.save
|
|
36
|
+
get_cycle_bugs.each do |bug|
|
|
37
|
+
puts "Bug"
|
|
38
|
+
push_bug(bug)
|
|
39
|
+
set_attachment(bug)
|
|
40
|
+
set_priority(bug)
|
|
41
|
+
end
|
|
42
|
+
# self.is_busy = false
|
|
43
|
+
# self.save
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def push_bug(bug)
|
|
47
|
+
client=connect_to_tracker
|
|
48
|
+
@response = client.call(:mc_issue_add, message: {username: self.client_id,
|
|
49
|
+
password: self.client_key,
|
|
50
|
+
issue: {status: bug.status,
|
|
51
|
+
summary: bug.title,
|
|
52
|
+
description: ("#{bug.description} \r\n ---------------- \r\n Actual Result: \r\n #{bug.actual} \r\n ---------------- \r\n Expected Result:\r\n #{bug.expected} \r\n ---------------- \r\n Screen Resolution:\r\n #{bug.screenresolution}"),
|
|
53
|
+
"steps_to_reproduce" => "#{bug.description}",
|
|
54
|
+
"additional_information" => "Actual Result: \r\n #{bug.actual} \r\n ---------------- \r\n Expected Result:\r\n #{bug.expected} \r\n ---------------- \r\n Screen Resolution:\r\n #{bug.screenresolution}",
|
|
55
|
+
category: "General" ,
|
|
56
|
+
"add_note"=> ((bug.enterprisecyclecomponent.nil?) ? "" : bug.enterprisecyclecomponent.name ),
|
|
57
|
+
resolution: bug.screenresolution,
|
|
58
|
+
severity: ((bug.btype=="Feature") ? "10" : ((bug.btype=="Technical") ? "60" : ((bug.btype=="GUI") ? "40" : ((bug.btype=="Functional") ? "60" : "50") ))),
|
|
59
|
+
reproducibility: ((bug.freq == "Every Time") ? "10" : ((bug.freq == "Frequently") ? "10" : ((bug.freq == "Rarely") ? "50" : ((bug.freq == "Once") ? "30" : "N/A" )))),
|
|
60
|
+
priority: ((bug.priority==1) ? "50" : ((bug.priority==2) ? "40" : ((bug.priority==3) ? "30" : ((bug.priority==4) ? "20" : "10" ) ))),
|
|
61
|
+
project: {id: self.project_id,
|
|
62
|
+
name: self.project_name
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
return_id=JSON.parse(@response.to_json)["mc_issue_add_response"]["return"]
|
|
68
|
+
@response
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def update_bug(bug_id)
|
|
72
|
+
client=connect_to_tracker
|
|
73
|
+
@response = client.call(:mc_issue_update, message: {username: self.client_id,
|
|
74
|
+
password: self.client_key,
|
|
75
|
+
"issueId" => map_bug_id,
|
|
76
|
+
issue: {status: bug.status,
|
|
77
|
+
summary: bug.title,
|
|
78
|
+
description: ("#{bug.description} \r\n ---------------- \r\n Actual Result: \r\n #{bug.actual} \r\n ---------------- \r\n Expected Result:\r\n #{bug.expected} \r\n ---------------- \r\n Screen Resolution:\r\n #{bug.screenresolution}"),
|
|
79
|
+
"steps_to_reproduce" => "#{bug.description}",
|
|
80
|
+
"additional_information" => "Actual Result: \r\n #{bug.actual} \r\n ---------------- \r\n Expected Result:\r\n #{bug.expected} \r\n ---------------- \r\n Screen Resolution:\r\n #{bug.screenresolution}",
|
|
81
|
+
category: "General" ,
|
|
82
|
+
"add_note"=> ((bug.enterprisecyclecomponent.nil?) ? "" : bug.enterprisecyclecomponent.name ),
|
|
83
|
+
resolution: bug.screenresolution,
|
|
84
|
+
severity: ((bug.btype=="Feature") ? "10" : ((bug.btype=="Technical") ? "60" : ((bug.btype=="GUI") ? "40" : ((bug.btype=="Functional") ? "60" : "50") ))),
|
|
85
|
+
reproducibility: ((bug.freq == "Every Time") ? "10" : ((bug.freq == "Frequently") ? "10" : ((bug.freq == "Rarely") ? "50" : ((bug.freq == "Once") ? "30" : "N/A" )))),
|
|
86
|
+
priority: ((bug.priority==1) ? "50" : ((bug.priority==2) ? "40" : ((bug.priority==3) ? "30" : ((bug.priority==4) ? "20" : "10" ) ))),
|
|
87
|
+
project: {id: self.project_id,
|
|
88
|
+
name: self.project_name}}})
|
|
89
|
+
set_attachment(bug)
|
|
90
|
+
set_priority(bug)
|
|
91
|
+
@response
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def set_note(bug) ########Working
|
|
95
|
+
client=connect_to_tracker
|
|
96
|
+
@response = client.call(:mc_issue_note_add,
|
|
97
|
+
message: {username: self.client_id,
|
|
98
|
+
password: self.client_key,
|
|
99
|
+
"issue_id"=>map_bug_id,
|
|
100
|
+
note: {text: bug.enterprisecyclecomponent.name }
|
|
101
|
+
}
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
def set_tag(bug)
|
|
106
|
+
client=connect_to_tracker
|
|
107
|
+
@response = client.call(:mc_issue_set_tags,
|
|
108
|
+
message: {username: self.client_id,
|
|
109
|
+
password: self.client_key,
|
|
110
|
+
"issue_id"=>map_bug_id,
|
|
111
|
+
tags: [""] ##Array of tags
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
return_id=JSON.parse(@response.to_json)
|
|
115
|
+
puts return_id
|
|
116
|
+
@response
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
def set_priority(bug) ########Working
|
|
120
|
+
client=connect_to_tracker
|
|
121
|
+
@response = client.call(:mc_issue_note_add,
|
|
122
|
+
message: {username: self.client_id,
|
|
123
|
+
password: self.client_key,
|
|
124
|
+
"issue_id"=>map_bug_id,
|
|
125
|
+
note: {text: bug.enterprisecyclecomponent.name }
|
|
126
|
+
}
|
|
127
|
+
)
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def set_attachment(bug)
|
|
131
|
+
client=connect_to_tracker
|
|
132
|
+
begin
|
|
133
|
+
file_name="bug_#{Time.now.to_i}.#{bug.ext}"
|
|
134
|
+
file_location = bug.cdn_url("enterprisebug_#{bug.id}_#{bug.created_at.to_i}.#{bug.ext}")
|
|
135
|
+
sf = open(file_location, 'rb') { |io| io.read }
|
|
136
|
+
sfile=Base64::encode64(sf)
|
|
137
|
+
@response = client.call(:mc_issue_attachment_add,
|
|
138
|
+
message: {username: self.client_id,
|
|
139
|
+
password: self.client_key,
|
|
140
|
+
"issue_id"=> map_bug_id,
|
|
141
|
+
name: file_name,
|
|
142
|
+
"file_type" => bug.content_type,
|
|
143
|
+
"content"=> sfile
|
|
144
|
+
}
|
|
145
|
+
)
|
|
146
|
+
rescue Exception => e
|
|
147
|
+
puts "File not submitted : #{e}"
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: mantis_ruby
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- Dimo Mohit
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2015-06-07 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: Gem to integrate Mantis Testing tool with Ruby apps
|
|
14
|
+
email: mohitdutta@live.com
|
|
15
|
+
executables: []
|
|
16
|
+
extensions: []
|
|
17
|
+
extra_rdoc_files: []
|
|
18
|
+
files:
|
|
19
|
+
- lib/mantis_ruby.rb
|
|
20
|
+
homepage: http://rubygems.org/gems/mantis_ruby
|
|
21
|
+
licenses:
|
|
22
|
+
- MIT
|
|
23
|
+
metadata: {}
|
|
24
|
+
post_install_message:
|
|
25
|
+
rdoc_options: []
|
|
26
|
+
require_paths:
|
|
27
|
+
- lib
|
|
28
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
34
|
+
requirements:
|
|
35
|
+
- - ">="
|
|
36
|
+
- !ruby/object:Gem::Version
|
|
37
|
+
version: '0'
|
|
38
|
+
requirements: []
|
|
39
|
+
rubyforge_project:
|
|
40
|
+
rubygems_version: 2.4.5
|
|
41
|
+
signing_key:
|
|
42
|
+
specification_version: 4
|
|
43
|
+
summary: Mantis Testing tool with Ruby
|
|
44
|
+
test_files: []
|
|
45
|
+
has_rdoc:
|