veracodecli 1.0.10 → 1.0.11

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 47a755b1783a8f5003057b7eec2a7c730df092da
4
- data.tar.gz: 9879f64e287e149bdc8f7eecbb52dde685506f40
3
+ metadata.gz: 2b1a71295f50c1b317d7d7d3725479f1a6788daf
4
+ data.tar.gz: 61cb73f9560e48e6b84bab0327ee0d171b46a187
5
5
  SHA512:
6
- metadata.gz: 6bad75a2293677e42e44152c2a52079f0d85aeebddba63bdd877f992b3279a2cdc59884a2950f9fb69e173892e04d0eaa6c70654c6ceb04608b861880a92f565
7
- data.tar.gz: 0d7937a40cd678398a984b50708bbed3286bb9d2fe0a598fa349c17e4c520990f9e2e68c56f10491328ddbc9b11cde1bfd45e839631641d17d6af791a17c57be
6
+ metadata.gz: e30d4a55f21dba97daceb6fc90605fee934a0ca8fd21aee31d6b477a7d73cdf8765160082b9a434d97e0a5bde806a2e9517e560b21bb8bf01bc1d8f67ab44b63
7
+ data.tar.gz: 5695acabe10bf20fcfcdab7a912c2442a44e44c62bb8b305364e9b68116694999c3e7cf8d20c45fd96f90d9f9d44c6e371b8ea71d15950f70e9c323c89fe29eb
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.10
1
+ 1.0.11
@@ -2,6 +2,7 @@ require 'json'
2
2
  require 'active_support/core_ext/hash'
3
3
  require 'rest-client'
4
4
  require 'yaml'
5
+ require 'nokogiri'
5
6
  require_relative 'settings'
6
7
  require_relative 'log'
7
8
 
@@ -9,9 +10,9 @@ module VeracodeApiBase
9
10
  def veracode_api_request(api_call, api_version: '4.0', **params)
10
11
  begin
11
12
  response = RestClient.get "https://#{Settings.veracode_username}:#{Settings.veracode_password}@analysiscenter.veracode.com/api/#{api_version}/#{api_call}", { params: params }
12
- log = ResponseLogger.new "/home/#{ENV['USER']/veracodecli_data}"
13
+ log = ResponseLogger.new "/tmp"
13
14
  log.log api_call, response.code, response.body
14
- rescue
15
+ rescue RestClient
15
16
  abort '401: Unauthorized. Veracode API call Failed, please check your veracode credentials or whitelisted IPs'
16
17
  end
17
18
  if [500,501,502,503].any?{|code| response.code == code} then abort 'Internal server error.' end
@@ -27,6 +28,28 @@ module VeracodeApiBase
27
28
  end
28
29
  `cd /tmp; zip -r sast_upload.zip sast_clone`
29
30
  end
31
+
32
+ def response_parse_app_id(response, app_name)
33
+ app_id = nil
34
+ doc = Nokogiri::XML response
35
+ doc.remove_namespaces!
36
+ if doc.xpath('//app').empty? then return nil end
37
+ doc.xpath('//app').each do |app|
38
+ if app.attributes['app_name'].value == app_name then app_id = app.attributes['app_id'].value end
39
+ end
40
+ app_id
41
+ end
42
+
43
+ def parse_new_app_id(response)
44
+ app_id = nil
45
+ doc = Nokogiri::XML response
46
+ doc.remove_namespaces!
47
+ if doc.xpath('//application').empty? then return nil end
48
+ doc.xpath('//application').each do |application|
49
+ app_id = application.attributes['app_id'].value
50
+ end
51
+ app_id
52
+ end
30
53
  end
31
54
 
32
55
  module VeracodeApiScan
@@ -34,22 +57,13 @@ module VeracodeApiScan
34
57
 
35
58
  def get_app_id(app_name)
36
59
  app_list = veracode_api_request 'getapplist.do', include_user_info: 'true'
37
- scan = app_list.body.scan(/app_id=\"(.+)\" app_name=\"#{app_name}\"/)
38
- if scan.empty?
39
- app_id = scan[0][0]
40
- else
41
- app_id = nil
42
- end
60
+ app_id = response_parse_app_id app_list.body, app_name
43
61
  end
44
62
 
45
63
  def create_app_profile(app_name, business_criticality, business_unit, team)
46
64
  create_app_response = veracode_api_request 'createapp.do', app_name: app_name, business_criticality: business_criticality, business_unit: business_unit, teams: team
47
- scan = create_app_response.body.scan(/app_id=\"(.+)\" app_name=\"#{app_name}\"/)
48
- if scan.empty?
49
- fail 'createapp failed. Make sure you have supplied the correct parameters.'
50
- else
51
- app_id = scan[0][0]
52
- end
65
+ app_id = parse_new_app_id create_app_response.body
66
+ if app_id.nil? then abort 'createapp failed. Check the logs.' end
53
67
  end
54
68
 
55
69
  def upload_file(app_id, archive_path)
@@ -7,14 +7,19 @@ class ResponseLogger
7
7
  end
8
8
 
9
9
  def log(call, code, response)
10
+ check_log_file "#{@path}/veracodecli.log"
10
11
  log = File.open "#{@path}/veracodecli.log", 'a+'
11
12
  log.write "#{call} called @ #{timestamp}"
12
- log.write "HTTP #{code}"
13
+ log.write "HTTP #{code}\n"
13
14
  log.write response
14
15
  log.write "\n"
15
16
  log.close
16
17
  end
17
18
 
19
+ def check_log_file(file_path)
20
+ File.open file_path, 'w' unless File.exist? file_path
21
+ end
22
+
18
23
  def timestamp
19
24
  `date`
20
25
  end
data/veracodecli.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: veracodecli 1.0.10 ruby lib
5
+ # stub: veracodecli 1.0.11 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "veracodecli"
9
- s.version = "1.0.10"
9
+ s.version = "1.0.11"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["isaiah thiessen"]
14
- s.date = "2015-11-03"
14
+ s.date = "2015-11-04"
15
15
  s.description = "Ruby based CLI for accessing veracode's api"
16
16
  s.email = "isaiah.thiessen@telus.com"
17
17
  s.executables = ["veracodecli"]
@@ -37,7 +37,6 @@ Gem::Specification.new do |s|
37
37
  "test/API.rb",
38
38
  "test/helper.rb",
39
39
  "test/test_veracodecli.rb",
40
- "veracodecli-1.0.9.gem",
41
40
  "veracodecli.gemspec"
42
41
  ]
43
42
  s.homepage = "http://github.com/isand3r/veracodecli"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: veracodecli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.10
4
+ version: 1.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - isaiah thiessen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-03 00:00:00.000000000 Z
11
+ date: 2015-11-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -246,7 +246,6 @@ files:
246
246
  - test/API.rb
247
247
  - test/helper.rb
248
248
  - test/test_veracodecli.rb
249
- - veracodecli-1.0.9.gem
250
249
  - veracodecli.gemspec
251
250
  homepage: http://github.com/isand3r/veracodecli
252
251
  licenses:
Binary file