ruby_bugzilla 0.3.0 → 0.4.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.
- data/.travis.yml +0 -1
- data/README.md +25 -9
- data/lib/ruby_bugzilla/version.rb +1 -1
- data/lib/ruby_bugzilla.rb +93 -139
- data/spec/ruby_bugzilla_spec.rb +71 -281
- data/spec/spec_helper.rb +2 -2
- metadata +4 -5
- data/samples/bugzilla_credentials.yaml +0 -14
    
        data/.travis.yml
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -1,6 +1,5 @@ | |
| 1 1 | 
             
            # RubyBugzilla
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 3 | 
             
            [](http://badge.fury.io/rb/ruby_bugzilla)
         | 
| 5 4 | 
             
            [](https://travis-ci.org/ManageIQ/ruby_bugzilla)
         | 
| 6 5 | 
             
            [](https://codeclimate.com/github/ManageIQ/ruby_bugzilla)
         | 
| @@ -9,6 +8,24 @@ | |
| 9 8 |  | 
| 10 9 | 
             
            A Ruby wrapper around the python-bugzilla CLI for easy access to the Bugzilla API
         | 
| 11 10 |  | 
| 11 | 
            +
            ## Prerequisites
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            python-bugzilla must be installed.
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            * For Fedora/RHEL
         | 
| 16 | 
            +
              * sudo yum install python-bugzilla
         | 
| 17 | 
            +
            * For Mac
         | 
| 18 | 
            +
              * Download python-bugzilla from https://fedorahosted.org/python-bugzilla/
         | 
| 19 | 
            +
              * Untar the file
         | 
| 20 | 
            +
              * Run setup.py install
         | 
| 21 | 
            +
             | 
| 22 | 
            +
            python-bugzilla uses pycurl and expects it to be installed.
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            * For Mac
         | 
| 25 | 
            +
              * Download pycurl from http://pycurl.sourceforge.net/download/
         | 
| 26 | 
            +
              * Untar the file
         | 
| 27 | 
            +
              * Run setup.py install
         | 
| 28 | 
            +
             | 
| 12 29 | 
             
            ## Installation
         | 
| 13 30 |  | 
| 14 31 | 
             
            Add this line to your application's Gemfile:
         | 
| @@ -23,15 +40,14 @@ Or install it yourself as: | |
| 23 40 |  | 
| 24 41 | 
             
                $ gem install ruby_bugzilla
         | 
| 25 42 |  | 
| 26 | 
            -
            ## Usage
         | 
| 27 | 
            -
             | 
| 28 | 
            -
              If not already logged in to bugzilla, RubyBugzilla can login using
         | 
| 29 | 
            -
              the crendentials in bugzilla_credentials.yaml
         | 
| 30 | 
            -
              Copy sample/bugzilla_credentials.yaml to $HOME and edit the file
         | 
| 31 | 
            -
              to contain your bugzilla credentials.
         | 
| 32 | 
            -
             | 
| 33 | 
            -
              TODO: Write more usage instructions here
         | 
| 43 | 
            +
            ## Example Usage
         | 
| 34 44 |  | 
| 45 | 
            +
            ```ruby
         | 
| 46 | 
            +
            bz = RubyBugzilla.new("http://uri.to/bugzilla, "username", "password")
         | 
| 47 | 
            +
            bz.login
         | 
| 48 | 
            +
            output = bz.query(:bug_status => "NEW")
         | 
| 49 | 
            +
            bz.modify([928134, 932439], :status => "RELEASE_PENDING", :comment => "Looks good")
         | 
| 50 | 
            +
            ```
         | 
| 35 51 |  | 
| 36 52 | 
             
            ## Contributing
         | 
| 37 53 |  | 
    
        data/lib/ruby_bugzilla.rb
    CHANGED
    
    | @@ -1,192 +1,147 @@ | |
| 1 | 
            -
            require 'yaml'
         | 
| 2 1 | 
             
            require 'linux_admin'
         | 
| 3 2 |  | 
| 4 3 | 
             
            class RubyBugzilla
         | 
| 4 | 
            +
              CMD = `which bugzilla`.chomp
         | 
| 5 | 
            +
              COOKIES_FILE = File.expand_path('~/.bugzillacookies')
         | 
| 5 6 |  | 
| 6 | 
            -
               | 
| 7 | 
            -
             | 
| 8 | 
            -
              CREDS_FILE = File.expand_path('~') + '/.bugzilla_credentials.yaml'
         | 
| 9 | 
            -
             | 
| 10 | 
            -
              def self.username=(un)
         | 
| 11 | 
            -
                @username = un
         | 
| 7 | 
            +
              def self.installed?
         | 
| 8 | 
            +
                File.exists?(CMD)
         | 
| 12 9 | 
             
              end
         | 
| 13 10 |  | 
| 14 | 
            -
              def self. | 
| 15 | 
            -
                 | 
| 11 | 
            +
              def self.logged_in?
         | 
| 12 | 
            +
                File.exists?(COOKIES_FILE)
         | 
| 16 13 | 
             
              end
         | 
| 17 14 |  | 
| 18 | 
            -
              def self. | 
| 19 | 
            -
                 | 
| 15 | 
            +
              def self.clear_login!
         | 
| 16 | 
            +
                File.delete(COOKIES_FILE) if File.exists?(COOKIES_FILE)
         | 
| 20 17 | 
             
              end
         | 
| 21 18 |  | 
| 22 | 
            -
               | 
| 23 | 
            -
             | 
| 24 | 
            -
              end
         | 
| 19 | 
            +
              attr_accessor :bugzilla_uri, :username, :password, :last_command
         | 
| 20 | 
            +
              attr_reader   :bugzilla_request_uri
         | 
| 25 21 |  | 
| 26 | 
            -
              def  | 
| 27 | 
            -
                 | 
| 28 | 
            -
                 | 
| 22 | 
            +
              def bugzilla_uri=(value)
         | 
| 23 | 
            +
                @bugzilla_request_uri = URI.join(value, "xmlrpc.cgi").to_s
         | 
| 24 | 
            +
                @bugzilla_uri = value
         | 
| 25 | 
            +
              end
         | 
| 29 26 |  | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
                  self.password ||= pw_from_file
         | 
| 34 | 
            -
                end
         | 
| 27 | 
            +
              def initialize(bugzilla_uri, username, password)
         | 
| 28 | 
            +
                raise "python-bugzilla not installed" unless installed?
         | 
| 29 | 
            +
                raise ArgumentError, "username and password must be set" if username.nil? || password.nil?
         | 
| 35 30 |  | 
| 36 | 
            -
                 | 
| 31 | 
            +
                self.bugzilla_uri = bugzilla_uri
         | 
| 32 | 
            +
                self.username     = username
         | 
| 33 | 
            +
                self.password     = password
         | 
| 37 34 | 
             
              end
         | 
| 38 35 |  | 
| 39 | 
            -
               | 
| 40 | 
            -
             | 
| 41 | 
            -
              def self.credentials_from_file
         | 
| 42 | 
            -
                begin
         | 
| 43 | 
            -
                  creds = YAML.load_file(CREDS_FILE)
         | 
| 44 | 
            -
                rescue Errno::ENOENT => error
         | 
| 45 | 
            -
                  return [nil, nil]
         | 
| 46 | 
            -
                end
         | 
| 47 | 
            -
             | 
| 48 | 
            -
                [creds[:bugzilla_credentials][:username],
         | 
| 49 | 
            -
                  creds[:bugzilla_credentials][:password]]
         | 
| 36 | 
            +
              def inspect
         | 
| 37 | 
            +
                super.gsub(/@password=\".+?\", /, "")
         | 
| 50 38 | 
             
              end
         | 
| 51 39 |  | 
| 52 | 
            -
              def  | 
| 53 | 
            -
                 | 
| 54 | 
            -
                  options = YAML.load_file(CREDS_FILE)
         | 
| 55 | 
            -
                rescue Errno::ENOENT => error
         | 
| 56 | 
            -
                  return ["https://bugzilla.redhat.com/", false]
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
                [options[:bugzilla_options][:bugzilla_uri],
         | 
| 59 | 
            -
                  options[:bugzilla_options][:debug]]
         | 
| 40 | 
            +
              def installed?
         | 
| 41 | 
            +
                self.class.installed?
         | 
| 60 42 | 
             
              end
         | 
| 61 43 |  | 
| 62 | 
            -
               | 
| 63 | 
            -
             | 
| 64 | 
            -
              def self.logged_in?
         | 
| 65 | 
            -
                File.exists?(COOKIES_FILE)
         | 
| 44 | 
            +
              def logged_in?
         | 
| 45 | 
            +
                self.class.logged_in?
         | 
| 66 46 | 
             
              end
         | 
| 67 47 |  | 
| 68 | 
            -
              def  | 
| 69 | 
            -
                 | 
| 70 | 
            -
                  File.delete(COOKIES_FILE)
         | 
| 71 | 
            -
                end
         | 
| 48 | 
            +
              def clear_login!
         | 
| 49 | 
            +
                self.class.clear_login!
         | 
| 72 50 | 
             
              end
         | 
| 73 51 |  | 
| 74 | 
            -
              def  | 
| 52 | 
            +
              def login
         | 
| 53 | 
            +
                if logged_in?
         | 
| 54 | 
            +
                  self.last_command = nil
         | 
| 55 | 
            +
                  return "Already Logged In"
         | 
| 56 | 
            +
                end
         | 
| 75 57 |  | 
| 76 | 
            -
                login_cmd = "#{CMD} "
         | 
| 77 | 
            -
                output = "Already Logged In"
         | 
| 78 58 | 
             
                params = {}
         | 
| 59 | 
            +
                params["--debug"] = nil
         | 
| 60 | 
            +
                params["login"]   = [username, password]
         | 
| 79 61 |  | 
| 80 | 
            -
                 | 
| 81 | 
            -
             | 
| 82 | 
            -
                 | 
| 83 | 
            -
                   | 
| 84 | 
            -
                   | 
| 85 | 
            -
             | 
| 86 | 
            -
                  params["--bugzilla="] = "#{uri_opt}/xmlrpc.cgi" unless uri_opt.nil?
         | 
| 87 | 
            -
                  params["--debug"]     = nil if debug_opt
         | 
| 88 | 
            -
                  params["login"]       = [username, password]
         | 
| 89 | 
            -
             | 
| 90 | 
            -
                  begin 
         | 
| 91 | 
            -
                    login_cmd_result = LinuxAdmin.run!(CMD, :params => params)
         | 
| 92 | 
            -
                  rescue => error
         | 
| 93 | 
            -
                    # A failed login attempt could result in a corrupt COOKIES_FILE
         | 
| 94 | 
            -
                    clear_login!
         | 
| 95 | 
            -
                    raise "#{self.string_command(CMD, params, password)} Failed.\n#{error}"
         | 
| 96 | 
            -
                  end
         | 
| 97 | 
            -
                  output = login_cmd_result.output
         | 
| 62 | 
            +
                begin
         | 
| 63 | 
            +
                  execute(params)
         | 
| 64 | 
            +
                rescue
         | 
| 65 | 
            +
                  clear_login! # A failed login attempt could result in a corrupt COOKIES_FILE
         | 
| 66 | 
            +
                  raise
         | 
| 98 67 | 
             
                end
         | 
| 99 | 
            -
                [self.string_command(CMD, params, password), output]
         | 
| 100 68 | 
             
              end
         | 
| 101 69 |  | 
| 102 | 
            -
               | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 70 | 
            +
              # Query for existing bugs
         | 
| 71 | 
            +
              #
         | 
| 72 | 
            +
              # Example:
         | 
| 73 | 
            +
              #   # Query for all NEW bugs, and return the output in a specific format.
         | 
| 74 | 
            +
              #   puts bz.query(
         | 
| 75 | 
            +
              #     :bug_status   => "NEW",
         | 
| 76 | 
            +
              #     :outputformat => "BZ_ID: %{id} STATUS: %{bug_status} SUMMARY: %{summary}"
         | 
| 77 | 
            +
              #   )
         | 
| 78 | 
            +
              #   # BZ_ID: 1234 STATUS: NEW SUMMARY: Something went wrong.
         | 
| 79 | 
            +
              #   # BZ_ID: 1235 STATUS: NEW SUMMARY: Another thing went wrong.
         | 
| 80 | 
            +
              #
         | 
| 81 | 
            +
              # @param options [Hash] Query options. Some possible values are:
         | 
| 82 | 
            +
              #   * <tt>:product</tt> - A specific product to limit the query against
         | 
| 83 | 
            +
              #   * <tt>:flag</tt> - Comma separated list of flags
         | 
| 84 | 
            +
              #   * <tt>:bug_status</tt> - Comma separated list of bug statuses, such as NEW,
         | 
| 85 | 
            +
              #     ASSIGNED, etc.
         | 
| 86 | 
            +
              #   * <tt>:outputformat</tt> - A string that will be used to format each line
         | 
| 87 | 
            +
              #     of output, with <tt>%{}</tt> as the interpolater.
         | 
| 88 | 
            +
              # @return [String] The command output
         | 
| 89 | 
            +
              def query(options)
         | 
| 90 | 
            +
                raise ArgumentError, "options must be specified" if options.empty?
         | 
| 110 91 |  | 
| 111 92 | 
             
                params = {}
         | 
| 93 | 
            +
                params["query"] = nil
         | 
| 94 | 
            +
                set_params_options(params, options)
         | 
| 112 95 |  | 
| 113 | 
            -
                params | 
| 114 | 
            -
                params["query"]           = nil
         | 
| 115 | 
            -
                params["--product="]      = product
         | 
| 116 | 
            -
                params["--flag="]         = flag unless flag.nil?
         | 
| 117 | 
            -
                params["--bug_status="]   = bug_status unless bug_status.nil?
         | 
| 118 | 
            -
                params["--outputformat="] = output_format unless output_format.nil?
         | 
| 119 | 
            -
             | 
| 120 | 
            -
                begin 
         | 
| 121 | 
            -
                  query_cmd_result = LinuxAdmin.run!(CMD, :params => params)
         | 
| 122 | 
            -
                rescue => error
         | 
| 123 | 
            -
                  raise "#{self.string_command(CMD, params)} Failed.\n#{error}"
         | 
| 124 | 
            -
                end
         | 
| 125 | 
            -
             | 
| 126 | 
            -
                [self.string_command(CMD, params), query_cmd_result.output]
         | 
| 96 | 
            +
                execute(params)
         | 
| 127 97 | 
             
              end
         | 
| 128 98 |  | 
| 129 | 
            -
             | 
| 130 | 
            -
              #
         | 
| 131 | 
            -
              # Example Usage:
         | 
| 132 | 
            -
              #
         | 
| 133 | 
            -
              #  bugids can be an Array of bug ids, a String or Fixnum
         | 
| 134 | 
            -
              #  containing a single bug id 
         | 
| 99 | 
            +
              # Modify an existing bug or set of bugs
         | 
| 135 100 | 
             
              #
         | 
| 136 | 
            -
              # | 
| 101 | 
            +
              # Examples:
         | 
| 102 | 
            +
              #   # Set the status of multiple bugs to RELEASE_PENDING
         | 
| 103 | 
            +
              #   bz.modify([948970, 948971], :status => "RELEASE_PENDING")
         | 
| 137 104 | 
             
              #
         | 
| 138 | 
            -
              # | 
| 139 | 
            -
              # | 
| 105 | 
            +
              #   # Add a comment
         | 
| 106 | 
            +
              #   bz.modify("948972", :comment => "whatevs")
         | 
| 140 107 | 
             
              #
         | 
| 141 | 
            -
              # | 
| 142 | 
            -
              # | 
| 108 | 
            +
              #   # Set the status to POST and add a comment
         | 
| 109 | 
            +
              #   bz.modify(948970, :status => "POST", :comment => "Fixed in shabla")
         | 
| 143 110 | 
             
              #
         | 
| 144 | 
            -
              # | 
| 145 | 
            -
              # | 
| 146 | 
            -
              #
         | 
| 147 | 
            -
               | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 111 | 
            +
              # @param bug_ids [String, Integer, Array<String>, Array<Integer>] The bug id
         | 
| 112 | 
            +
              #   or ids to process.
         | 
| 113 | 
            +
              # @param options [Hash] The properties to change.  Some properties include
         | 
| 114 | 
            +
              #   * <tt>:status</tt> - The bug status, such as NEW, ASSIGNED, etc.
         | 
| 115 | 
            +
              #   * <tt>:comment</tt> - Add a comment
         | 
| 116 | 
            +
              # @return [String] The command output
         | 
| 117 | 
            +
              def modify(bug_ids, options)
         | 
| 118 | 
            +
                bug_ids = Array(bug_ids)
         | 
| 119 | 
            +
                raise ArgumentError, "bug_ids and options must be specified" if bug_ids.empty? || options.empty?
         | 
| 120 | 
            +
                raise ArgumentError, "bug_ids must be numeric" unless bug_ids.all? {|id| id.to_s =~ /^\d+$/ }
         | 
| 150 121 |  | 
| 151 | 
            -
                bugids = Array(bugids_arg)
         | 
| 152 | 
            -
                if bugids.empty? || options.empty? || bugids_arg.to_s.empty?
         | 
| 153 | 
            -
                  raise ArgumentError, "bugids and options must be specified"
         | 
| 154 | 
            -
                end
         | 
| 155 | 
            -
             | 
| 156 | 
            -
                uri_opt, debug_opt = self.options
         | 
| 157 122 | 
             
                params = {}
         | 
| 123 | 
            +
                params["modify"] = bug_ids
         | 
| 124 | 
            +
                set_params_options(params, options)
         | 
| 158 125 |  | 
| 159 | 
            -
                params | 
| 160 | 
            -
             | 
| 126 | 
            +
                execute(params)
         | 
| 127 | 
            +
              end
         | 
| 161 128 |  | 
| 162 | 
            -
             | 
| 163 | 
            -
                self.set_params_options(params, options)
         | 
| 129 | 
            +
              private
         | 
| 164 130 |  | 
| 165 | 
            -
             | 
| 166 | 
            -
             | 
| 167 | 
            -
                rescue => error
         | 
| 168 | 
            -
                  raise "#{self.string_command(CMD, params)} Failed.\n#{error}"
         | 
| 169 | 
            -
                end
         | 
| 131 | 
            +
              def execute(params)
         | 
| 132 | 
            +
                params = {"--bugzilla=" => bugzilla_request_uri}.merge(params)
         | 
| 170 133 |  | 
| 171 | 
            -
                self.string_command(CMD, params)
         | 
| 134 | 
            +
                self.last_command = string_command(CMD, params, password)
         | 
| 135 | 
            +
                LinuxAdmin.run!(CMD, :params => params).output
         | 
| 172 136 | 
             
              end
         | 
| 173 137 |  | 
| 174 | 
            -
               | 
| 175 | 
            -
              def self.set_params_options(params, options)
         | 
| 138 | 
            +
              def set_params_options(params, options)
         | 
| 176 139 | 
             
                options.each do |key,value|
         | 
| 177 140 | 
             
                  params["--#{key}="] = value
         | 
| 178 141 | 
             
                end
         | 
| 179 142 | 
             
              end
         | 
| 180 143 |  | 
| 181 | 
            -
               | 
| 182 | 
            -
              def self.set_params_bugids(params, bugids)
         | 
| 183 | 
            -
                bugids.each do |bugid|
         | 
| 184 | 
            -
                  params[bugid] = nil
         | 
| 185 | 
            -
                end
         | 
| 186 | 
            -
              end
         | 
| 187 | 
            -
             | 
| 188 | 
            -
              private
         | 
| 189 | 
            -
              def self.string_command(cmd, params = {}, password=nil)
         | 
| 144 | 
            +
              def string_command(cmd, params = {}, password=nil)
         | 
| 190 145 | 
             
                scrubbed_str = str = ""
         | 
| 191 146 | 
             
                str << cmd
         | 
| 192 147 | 
             
                params.each do |param, value|
         | 
| @@ -203,5 +158,4 @@ class RubyBugzilla | |
| 203 158 | 
             
                scrubbed_str = str.sub(password, "********") unless password.nil?
         | 
| 204 159 | 
             
                scrubbed_str
         | 
| 205 160 | 
             
              end
         | 
| 206 | 
            -
             | 
| 207 161 | 
             
            end
         | 
    
        data/spec/ruby_bugzilla_spec.rb
    CHANGED
    
    | @@ -1,337 +1,127 @@ | |
| 1 1 | 
             
            require 'spec_helper'
         | 
| 2 | 
            -
            require 'tempfile'
         | 
| 3 2 |  | 
| 4 | 
            -
            class TempCredFile < Tempfile
         | 
| 5 | 
            -
              def initialize(file)
         | 
| 6 | 
            -
                f = super
         | 
| 7 | 
            -
                f.puts("---")
         | 
| 8 | 
            -
                f.puts(":bugzilla_credentials:")
         | 
| 9 | 
            -
                f.puts("  :username: My Username")
         | 
| 10 | 
            -
                f.puts("  :password: My Password")
         | 
| 11 | 
            -
                f.puts(":bugzilla_options:")
         | 
| 12 | 
            -
                f.puts("  :bugzilla_uri: MyURI")
         | 
| 13 | 
            -
                f.puts("  :debug: MyDebug")
         | 
| 14 | 
            -
                f.flush
         | 
| 15 | 
            -
              end
         | 
| 16 | 
            -
            end
         | 
| 17 | 
            -
                  
         | 
| 18 3 | 
             
            describe RubyBugzilla do
         | 
| 19 | 
            -
               | 
| 20 | 
            -
              saved_cookies_file = RubyBugzilla::COOKIES_FILE
         | 
| 21 | 
            -
              saved_creds_file = RubyBugzilla::CREDS_FILE
         | 
| 4 | 
            +
              let(:bz) { RubyBugzilla.new("http://uri.to/bugzilla", "calvin", "hobbes") }
         | 
| 22 5 |  | 
| 23 | 
            -
               | 
| 24 | 
            -
                 | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
                 | 
| 28 | 
            -
                  $VERBOSE = v
         | 
| 29 | 
            -
                end
         | 
| 6 | 
            +
              before do
         | 
| 7 | 
            +
                # Assume most tests have bugzilla installed and logged in by faking with
         | 
| 8 | 
            +
                #   valid files
         | 
| 9 | 
            +
                stub_const("RubyBugzilla::CMD", "/bin/echo")
         | 
| 10 | 
            +
                stub_const("RubyBugzilla::COOKIES_FILE", "/bin/echo")
         | 
| 30 11 | 
             
              end
         | 
| 31 12 |  | 
| 32 | 
            -
               | 
| 33 | 
            -
              after :each do
         | 
| 34 | 
            -
                ignore_warnings do
         | 
| 35 | 
            -
                  RubyBugzilla::CMD = saved_cmd
         | 
| 36 | 
            -
                  RubyBugzilla::COOKIES_FILE = saved_cookies_file
         | 
| 37 | 
            -
                  RubyBugzilla::CREDS_FILE = saved_creds_file
         | 
| 38 | 
            -
                  RubyBugzilla.username = nil
         | 
| 39 | 
            -
                  RubyBugzilla.password = nil
         | 
| 40 | 
            -
                end
         | 
| 41 | 
            -
              end
         | 
| 42 | 
            -
             | 
| 43 | 
            -
              context "#logged_in?" do
         | 
| 13 | 
            +
              context ".logged_in?" do
         | 
| 44 14 | 
             
                it "with an existing bugzilla cookie" do
         | 
| 45 | 
            -
                   | 
| 46 | 
            -
                    ignore_warnings do
         | 
| 47 | 
            -
                      RubyBugzilla::COOKIES_FILE = file.path
         | 
| 48 | 
            -
                    end
         | 
| 49 | 
            -
                    RubyBugzilla.logged_in?.should be true
         | 
| 50 | 
            -
                  end
         | 
| 15 | 
            +
                  RubyBugzilla.logged_in?.should be_true
         | 
| 51 16 | 
             
                end
         | 
| 52 17 |  | 
| 53 18 | 
             
                it "with no bugzilla cookie" do
         | 
| 54 | 
            -
                   | 
| 55 | 
            -
             | 
| 56 | 
            -
                  end
         | 
| 57 | 
            -
                  RubyBugzilla.logged_in?.should be false
         | 
| 19 | 
            +
                  stub_const("RubyBugzilla::COOKIES_FILE", "/This/file/does/not/exist")
         | 
| 20 | 
            +
                  RubyBugzilla.logged_in?.should be_false
         | 
| 58 21 | 
             
                end
         | 
| 59 22 | 
             
              end
         | 
| 60 23 |  | 
| 61 | 
            -
              context "# | 
| 62 | 
            -
                it  | 
| 63 | 
            -
                   | 
| 64 | 
            -
                    RubyBugzilla::CMD = '/This/cmd/does/not/exist'
         | 
| 65 | 
            -
                  end
         | 
| 66 | 
            -
                  expect { RubyBugzilla.login! }.to raise_exception
         | 
| 24 | 
            +
              context "#new" do
         | 
| 25 | 
            +
                it 'normal case' do
         | 
| 26 | 
            +
                  expect { bz }.to_not raise_error
         | 
| 67 27 | 
             
                end
         | 
| 68 28 |  | 
| 69 | 
            -
                it "when the bugzilla  | 
| 70 | 
            -
                   | 
| 71 | 
            -
                   | 
| 72 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 73 | 
            -
                    RubyBugzilla::COOKIES_FILE = '/This/file/does/not/exist'
         | 
| 74 | 
            -
                  end
         | 
| 75 | 
            -
                  cmd, output = RubyBugzilla.login!("My Username", "My Password")
         | 
| 76 | 
            -
                  output.should include("login My Username My Password")
         | 
| 29 | 
            +
                it "when the bugzilla command is not found" do
         | 
| 30 | 
            +
                  stub_const("RubyBugzilla::CMD", "/This/cmd/does/not/exist")
         | 
| 31 | 
            +
                  expect { bz }.to raise_error
         | 
| 77 32 | 
             
                end
         | 
| 78 33 |  | 
| 79 | 
            -
                it "when  | 
| 80 | 
            -
                   | 
| 81 | 
            -
                  ignore_warnings do
         | 
| 82 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 83 | 
            -
                    RubyBugzilla::COOKIES_FILE = '/This/file/does/not/exist'
         | 
| 84 | 
            -
                  end
         | 
| 85 | 
            -
                  cmd, output = RubyBugzilla.login!("calvin", "hobbes")
         | 
| 86 | 
            -
                  output.should include("login calvin hobbes")
         | 
| 34 | 
            +
                it "when bugzilla_uri is invalid" do
         | 
| 35 | 
            +
                  expect { RubyBugzilla.new("lalala", "", "") }.to raise_error(URI::BadURIError)
         | 
| 87 36 | 
             
                end
         | 
| 88 37 |  | 
| 38 | 
            +
                it "when username and password are not set" do
         | 
| 39 | 
            +
                  expect { RubyBugzilla.new("http://uri.to/bugzilla", nil, nil) }.to raise_error(ArgumentError)
         | 
| 40 | 
            +
                end
         | 
| 89 41 | 
             
              end
         | 
| 90 42 |  | 
| 91 | 
            -
              context "# | 
| 92 | 
            -
                it "when  | 
| 93 | 
            -
                   | 
| 94 | 
            -
             | 
| 95 | 
            -
                   | 
| 96 | 
            -
                   | 
| 43 | 
            +
              context "#login" do
         | 
| 44 | 
            +
                it "when already logged in" do
         | 
| 45 | 
            +
                  output = bz.login
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  bz.last_command.should be_nil
         | 
| 48 | 
            +
                  output.should include("Already Logged In")
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
             | 
| 51 | 
            +
                it "when not already logged in" do
         | 
| 52 | 
            +
                  stub_const("RubyBugzilla::COOKIES_FILE", "/This/file/does/not/exist")
         | 
| 53 | 
            +
                  bz.login
         | 
| 54 | 
            +
             | 
| 55 | 
            +
                  bz.last_command.should include("login")
         | 
| 97 56 | 
             
                end
         | 
| 57 | 
            +
              end
         | 
| 98 58 |  | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
                  end
         | 
| 103 | 
            -
                  expect { RubyBugzilla.query }.to raise_error(ArgumentError)
         | 
| 59 | 
            +
              context "#query" do
         | 
| 60 | 
            +
                it "when no arguments are specified" do
         | 
| 61 | 
            +
                  expect { bz.query }.to raise_error(ArgumentError)
         | 
| 104 62 | 
             
                end
         | 
| 105 63 |  | 
| 106 64 | 
             
                it "when the bugzilla query command produces output" do
         | 
| 107 | 
            -
                   | 
| 108 | 
            -
                     | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
             | 
| 113 | 
            -
                    cmd, output = RubyBugzilla.login!("calvin", "hobbes")
         | 
| 114 | 
            -
                    cmd, output = RubyBugzilla.query('CloudForms Management Engine',
         | 
| 115 | 
            -
                      flag = '',
         | 
| 116 | 
            -
                      bug_status = 'NEW, ASSIGNED, POST, MODIFIED, ON_DEV, ON_QA, VERIFIED, RELEASE_PENDING',
         | 
| 117 | 
            -
                      output_format = 'BZ_ID: %{id} STATUS: %{bug_status} SUMMARY: %{summary}')
         | 
| 65 | 
            +
                  output = bz.query(
         | 
| 66 | 
            +
                    :product      => 'CloudForms Management Engine',
         | 
| 67 | 
            +
                    :bug_status   => 'NEW, ASSIGNED, POST, MODIFIED, ON_DEV, ON_QA, VERIFIED, RELEASE_PENDING',
         | 
| 68 | 
            +
                    :outputformat => 'BZ_ID: %{id} STATUS: %{bug_status} SUMMARY: %{summary}'
         | 
| 69 | 
            +
                  )
         | 
| 118 70 |  | 
| 119 | 
            -
             | 
| 120 | 
            -
             | 
| 121 | 
            -
             | 
| 122 | 
            -
             | 
| 71 | 
            +
                  bz.last_command.should include("query")
         | 
| 72 | 
            +
                  output.should include("BZ_ID:")
         | 
| 73 | 
            +
                  output.should include("STATUS:")
         | 
| 74 | 
            +
                  output.should include("SUMMARY:")
         | 
| 123 75 | 
             
                end
         | 
| 124 76 | 
             
              end
         | 
| 125 77 |  | 
| 126 78 | 
             
              context "#modify" do
         | 
| 127 | 
            -
                it "when the bugzilla command is not found" do
         | 
| 128 | 
            -
                  ignore_warnings do
         | 
| 129 | 
            -
                    RubyBugzilla::CMD = '/This/cmd/does/not/exist'
         | 
| 130 | 
            -
                  end
         | 
| 131 | 
            -
                  expect { RubyBugzilla.modify }.to raise_exception
         | 
| 132 | 
            -
                end
         | 
| 133 | 
            -
             | 
| 134 79 | 
             
                it "when no arguments are specified" do
         | 
| 135 | 
            -
                   | 
| 136 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 137 | 
            -
                  end
         | 
| 138 | 
            -
                  expect { RubyBugzilla.modify }.to raise_error(ArgumentError)
         | 
| 80 | 
            +
                  expect { bz.modify }.to raise_error(ArgumentError)
         | 
| 139 81 | 
             
                end
         | 
| 140 82 |  | 
| 141 | 
            -
                it "when  | 
| 142 | 
            -
                   | 
| 143 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 144 | 
            -
                  end
         | 
| 145 | 
            -
                  expect { RubyBugzilla.modify("", :status => "POST") }.to raise_error(ArgumentError)
         | 
| 83 | 
            +
                it "when invalid bugids are are specified" do
         | 
| 84 | 
            +
                  expect { bz.modify("", :status => "POST") }.to raise_error(ArgumentError)
         | 
| 146 85 | 
             
                end
         | 
| 147 86 |  | 
| 148 87 | 
             
                it "when no options are specified" do
         | 
| 149 | 
            -
                   | 
| 150 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 151 | 
            -
                  end
         | 
| 152 | 
            -
                  expect { RubyBugzilla.modify(9, {}) }.to raise_error(ArgumentError)
         | 
| 88 | 
            +
                  expect { bz.modify(9, {}) }.to raise_error(ArgumentError)
         | 
| 153 89 | 
             
                end
         | 
| 154 90 |  | 
| 155 91 | 
             
                it "when the bugzilla modify command succeeds for one option and multiple BZs" do
         | 
| 156 | 
            -
                   | 
| 157 | 
            -
                  ignore_warnings do
         | 
| 158 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 159 | 
            -
                    RubyBugzilla::COOKIES_FILE = '/This/file/does/not/exist'
         | 
| 160 | 
            -
                  end
         | 
| 161 | 
            -
             | 
| 162 | 
            -
                  cmd, output = RubyBugzilla.login!("calvin", "hobbes")
         | 
| 163 | 
            -
                  cmd = RubyBugzilla.modify(["948970", "948971", "948972", "948973"],
         | 
| 164 | 
            -
                    :status => "RELEASE_PENDING")
         | 
| 92 | 
            +
                  bz.modify(["948970", "948971", "948972", "948973"], :status => "RELEASE_PENDING")
         | 
| 165 93 |  | 
| 166 | 
            -
                   | 
| 167 | 
            -
                   | 
| 168 | 
            -
                   | 
| 169 | 
            -
                   | 
| 170 | 
            -
                   | 
| 171 | 
            -
                   | 
| 94 | 
            +
                  bz.last_command.should include("modify")
         | 
| 95 | 
            +
                  bz.last_command.should include("--status=\"RELEASE_PENDING\"")
         | 
| 96 | 
            +
                  bz.last_command.should include("948970")
         | 
| 97 | 
            +
                  bz.last_command.should include("948971")
         | 
| 98 | 
            +
                  bz.last_command.should include("948972")
         | 
| 99 | 
            +
                  bz.last_command.should include("948973")
         | 
| 172 100 | 
             
                end
         | 
| 173 101 |  | 
| 174 102 | 
             
                it "when the bugzilla modify command succeeds for multiple options and a Array BZ" do
         | 
| 175 | 
            -
                   | 
| 176 | 
            -
                  ignore_warnings do
         | 
| 177 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 178 | 
            -
                    RubyBugzilla::COOKIES_FILE = '/This/file/does/not/exist'
         | 
| 179 | 
            -
                  end
         | 
| 103 | 
            +
                  bz.modify(["948972"], :status => "POST", :comment => "Fixed in shabla")
         | 
| 180 104 |  | 
| 181 | 
            -
                   | 
| 182 | 
            -
                   | 
| 183 | 
            -
             | 
| 184 | 
            -
             | 
| 185 | 
            -
                  cmd.should include("modify")
         | 
| 186 | 
            -
                  cmd.should include("--status=\"POST\"")
         | 
| 187 | 
            -
                  cmd.should include("948972")
         | 
| 188 | 
            -
                  cmd.should include("Fixed in shabla")
         | 
| 105 | 
            +
                  bz.last_command.should include("modify")
         | 
| 106 | 
            +
                  bz.last_command.should include("--status=\"POST\"")
         | 
| 107 | 
            +
                  bz.last_command.should include("948972")
         | 
| 108 | 
            +
                  bz.last_command.should include("Fixed in shabla")
         | 
| 189 109 | 
             
                end
         | 
| 190 110 |  | 
| 191 111 | 
             
                it "when the bugzilla modify command succeeds for a Fixnum BZ" do
         | 
| 192 | 
            -
                   | 
| 193 | 
            -
                  ignore_warnings do
         | 
| 194 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 195 | 
            -
                    RubyBugzilla::COOKIES_FILE = '/This/file/does/not/exist'
         | 
| 196 | 
            -
                  end
         | 
| 197 | 
            -
             | 
| 198 | 
            -
                  cmd, output = RubyBugzilla.login!("calvin", "hobbes")
         | 
| 199 | 
            -
                  cmd = RubyBugzilla.modify(948972, :status => "POST")
         | 
| 112 | 
            +
                  bz.modify(948972, :status => "POST")
         | 
| 200 113 |  | 
| 201 | 
            -
                   | 
| 202 | 
            -
                   | 
| 203 | 
            -
                   | 
| 114 | 
            +
                  bz.last_command.should include("modify")
         | 
| 115 | 
            +
                  bz.last_command.should include("--status=\"POST\"")
         | 
| 116 | 
            +
                  bz.last_command.should include("948972")
         | 
| 204 117 | 
             
                end
         | 
| 205 118 |  | 
| 206 119 | 
             
                it "when the bugzilla modify command succeeds for a String BZ" do
         | 
| 207 | 
            -
                   | 
| 208 | 
            -
                  ignore_warnings do
         | 
| 209 | 
            -
                    RubyBugzilla::CMD = '/bin/echo'
         | 
| 210 | 
            -
                    RubyBugzilla::COOKIES_FILE = '/This/file/does/not/exist'
         | 
| 211 | 
            -
                  end
         | 
| 212 | 
            -
             | 
| 213 | 
            -
                  cmd, output = RubyBugzilla.login!("calvin", "hobbes")
         | 
| 214 | 
            -
                  cmd = RubyBugzilla.modify("948972", :status => "POST")
         | 
| 120 | 
            +
                  bz.modify("948972", :status => "POST")
         | 
| 215 121 |  | 
| 216 | 
            -
                   | 
| 217 | 
            -
                   | 
| 218 | 
            -
                   | 
| 122 | 
            +
                  bz.last_command.should include("modify")
         | 
| 123 | 
            +
                  bz.last_command.should include("--status=\"POST\"")
         | 
| 124 | 
            +
                  bz.last_command.should include("948972")
         | 
| 219 125 | 
             
                end
         | 
| 220 126 | 
             
              end
         | 
| 221 | 
            -
             | 
| 222 | 
            -
              context "#credentials_from_file" do
         | 
| 223 | 
            -
                it "when the YAML input file is not found" do
         | 
| 224 | 
            -
                  ignore_warnings do
         | 
| 225 | 
            -
                    RubyBugzilla::CREDS_FILE = '/This/cmd/does/not/exist'
         | 
| 226 | 
            -
                  end
         | 
| 227 | 
            -
                  un, pw = RubyBugzilla.credentials_from_file
         | 
| 228 | 
            -
                  un.should == nil
         | 
| 229 | 
            -
                  pw.should == nil
         | 
| 230 | 
            -
                end
         | 
| 231 | 
            -
             | 
| 232 | 
            -
                it "when the YAML input is valid" do
         | 
| 233 | 
            -
                  # Fake the credentials YAML file.
         | 
| 234 | 
            -
                  TempCredFile.open('ruby_bugzilla_spec') do |file|
         | 
| 235 | 
            -
                    ignore_warnings do
         | 
| 236 | 
            -
                      RubyBugzilla::CREDS_FILE = file.path
         | 
| 237 | 
            -
                    end
         | 
| 238 | 
            -
                    un, pw = RubyBugzilla.credentials_from_file
         | 
| 239 | 
            -
                    un.should == "My Username"
         | 
| 240 | 
            -
                    pw.should == "My Password"
         | 
| 241 | 
            -
                  end
         | 
| 242 | 
            -
                end
         | 
| 243 | 
            -
              end
         | 
| 244 | 
            -
             | 
| 245 | 
            -
              context "#credentials" do
         | 
| 246 | 
            -
                it "with no arguments and when the YAML input file is not found" do
         | 
| 247 | 
            -
                  ignore_warnings do
         | 
| 248 | 
            -
                    RubyBugzilla::CREDS_FILE = '/This/cmd/does/not/exist'
         | 
| 249 | 
            -
                  end
         | 
| 250 | 
            -
                  un, pw = RubyBugzilla.credentials
         | 
| 251 | 
            -
                  un.should == nil
         | 
| 252 | 
            -
                  pw.should == nil
         | 
| 253 | 
            -
                end
         | 
| 254 | 
            -
             | 
| 255 | 
            -
                it "with no arguments and when the YAML input is valid" do
         | 
| 256 | 
            -
                  # Fake the credentials YAML file.
         | 
| 257 | 
            -
                  TempCredFile.open('ruby_bugzilla_spec') do |file|
         | 
| 258 | 
            -
                    ignore_warnings do
         | 
| 259 | 
            -
                      RubyBugzilla::CREDS_FILE = file.path
         | 
| 260 | 
            -
                    end
         | 
| 261 | 
            -
                    un, pw = RubyBugzilla.credentials
         | 
| 262 | 
            -
                    un.should == "My Username"
         | 
| 263 | 
            -
                    pw.should == "My Password"
         | 
| 264 | 
            -
                  end
         | 
| 265 | 
            -
                end
         | 
| 266 | 
            -
             | 
| 267 | 
            -
                it "with arguments and when the YAML input file is not found" do
         | 
| 268 | 
            -
                  ignore_warnings do
         | 
| 269 | 
            -
                    RubyBugzilla::CREDS_FILE = '/This/cmd/does/not/exist'
         | 
| 270 | 
            -
                  end
         | 
| 271 | 
            -
                  un, pw = RubyBugzilla.credentials("test_un", "test_pw")
         | 
| 272 | 
            -
                  un.should == "test_un"
         | 
| 273 | 
            -
                  pw.should == "test_pw"
         | 
| 274 | 
            -
                end
         | 
| 275 | 
            -
             | 
| 276 | 
            -
                it "with arguments and valid YAML input, favor arguments" do
         | 
| 277 | 
            -
                  # Fake the credentials YAML file.
         | 
| 278 | 
            -
                  TempCredFile.open('ruby_bugzilla_spec') do |file|
         | 
| 279 | 
            -
                    ignore_warnings do
         | 
| 280 | 
            -
                      RubyBugzilla::CREDS_FILE = file.path
         | 
| 281 | 
            -
                    end
         | 
| 282 | 
            -
                    un, pw = RubyBugzilla.credentials("test_un", "test_pw")
         | 
| 283 | 
            -
                    un.should == "test_un"
         | 
| 284 | 
            -
                    pw.should == "test_pw"
         | 
| 285 | 
            -
                  end
         | 
| 286 | 
            -
                end
         | 
| 287 | 
            -
             | 
| 288 | 
            -
                it "with password argument and valid YAML input, favor argument" do
         | 
| 289 | 
            -
                  # Fake the credentials YAML file.
         | 
| 290 | 
            -
                  TempCredFile.open('ruby_bugzilla_spec') do |file|
         | 
| 291 | 
            -
                    ignore_warnings do
         | 
| 292 | 
            -
                      RubyBugzilla::CREDS_FILE = file.path
         | 
| 293 | 
            -
                    end
         | 
| 294 | 
            -
                    un, pw = RubyBugzilla.credentials(nil, "test_pw")
         | 
| 295 | 
            -
                    un.should == "My Username"
         | 
| 296 | 
            -
                    pw.should == "test_pw"
         | 
| 297 | 
            -
                  end
         | 
| 298 | 
            -
                end
         | 
| 299 | 
            -
             | 
| 300 | 
            -
                it "with username argument and valid YAML input, favor argument" do
         | 
| 301 | 
            -
                  # Fake the credentials YAML file.
         | 
| 302 | 
            -
                  TempCredFile.open('ruby_bugzilla_spec') do |file|
         | 
| 303 | 
            -
                    ignore_warnings do
         | 
| 304 | 
            -
                      RubyBugzilla::CREDS_FILE = file.path
         | 
| 305 | 
            -
                    end
         | 
| 306 | 
            -
                    un, pw = RubyBugzilla.credentials("test_un")
         | 
| 307 | 
            -
                    un.should == "test_un"
         | 
| 308 | 
            -
                    pw.should == "My Password"
         | 
| 309 | 
            -
                  end
         | 
| 310 | 
            -
                end
         | 
| 311 | 
            -
             | 
| 312 | 
            -
              end
         | 
| 313 | 
            -
             | 
| 314 | 
            -
              context "#options" do
         | 
| 315 | 
            -
                it "when the YAML input is valid" do
         | 
| 316 | 
            -
                  # Fake the credentials YAML file.
         | 
| 317 | 
            -
                  TempCredFile.open('ruby_bugzilla_spec') do |file|
         | 
| 318 | 
            -
                    ignore_warnings do
         | 
| 319 | 
            -
                      RubyBugzilla::CREDS_FILE = file.path
         | 
| 320 | 
            -
                    end
         | 
| 321 | 
            -
                    uri, debug = RubyBugzilla.options
         | 
| 322 | 
            -
                    uri.should == "MyURI"
         | 
| 323 | 
            -
                    debug.should == "MyDebug"
         | 
| 324 | 
            -
                  end
         | 
| 325 | 
            -
                end
         | 
| 326 | 
            -
                it "when the YAML input is is not found" do
         | 
| 327 | 
            -
                  ignore_warnings do
         | 
| 328 | 
            -
                    RubyBugzilla::CREDS_FILE = '/This/cmd/does/not/exist'
         | 
| 329 | 
            -
                  end
         | 
| 330 | 
            -
                  uri, debug = RubyBugzilla.options
         | 
| 331 | 
            -
                  uri.should == "https://bugzilla.redhat.com/"
         | 
| 332 | 
            -
                  debug.should == false
         | 
| 333 | 
            -
                end
         | 
| 334 | 
            -
              end
         | 
| 335 | 
            -
             | 
| 336 127 | 
             
            end
         | 
| 337 | 
            -
             | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -1,5 +1,3 @@ | |
| 1 | 
            -
            require 'ruby_bugzilla'
         | 
| 2 | 
            -
             | 
| 3 1 | 
             
            # This file was generated by the `rspec --init` command. Conventionally, all
         | 
| 4 2 | 
             
            # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
         | 
| 5 3 | 
             
            # Require this file using `require "spec_helper"` to ensure that it is only
         | 
| @@ -19,3 +17,5 @@ end | |
| 19 17 |  | 
| 20 18 | 
             
            require 'coveralls'
         | 
| 21 19 | 
             
            Coveralls.wear!
         | 
| 20 | 
            +
             | 
| 21 | 
            +
            require 'ruby_bugzilla'
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ruby_bugzilla
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.4.0
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013-11- | 
| 12 | 
            +
            date: 2013-11-21 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: bundler
         | 
| @@ -113,7 +113,6 @@ files: | |
| 113 113 | 
             
            - lib/ruby_bugzilla.rb
         | 
| 114 114 | 
             
            - lib/ruby_bugzilla/version.rb
         | 
| 115 115 | 
             
            - ruby_bugzilla.gemspec
         | 
| 116 | 
            -
            - samples/bugzilla_credentials.yaml
         | 
| 117 116 | 
             
            - spec/ruby_bugzilla_spec.rb
         | 
| 118 117 | 
             
            - spec/spec_helper.rb
         | 
| 119 118 | 
             
            homepage: http://github.com/ManageIQ/ruby-bugzilla
         | 
| @@ -131,7 +130,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 131 130 | 
             
                  version: '0'
         | 
| 132 131 | 
             
                  segments:
         | 
| 133 132 | 
             
                  - 0
         | 
| 134 | 
            -
                  hash: - | 
| 133 | 
            +
                  hash: -77384532165350342
         | 
| 135 134 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 136 135 | 
             
              none: false
         | 
| 137 136 | 
             
              requirements:
         | 
| @@ -140,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 140 139 | 
             
                  version: '0'
         | 
| 141 140 | 
             
                  segments:
         | 
| 142 141 | 
             
                  - 0
         | 
| 143 | 
            -
                  hash: - | 
| 142 | 
            +
                  hash: -77384532165350342
         | 
| 144 143 | 
             
            requirements: []
         | 
| 145 144 | 
             
            rubyforge_project: 
         | 
| 146 145 | 
             
            rubygems_version: 1.8.25
         | 
| @@ -1,14 +0,0 @@ | |
| 1 | 
            -
            # Copy this file to .bugzilla_credentials.yaml
         | 
| 2 | 
            -
            # in your home directory to use it for automated
         | 
| 3 | 
            -
            # login to bugzilla
         | 
| 4 | 
            -
            #
         | 
| 5 | 
            -
            # Note: The dot to make it a hiden file:
         | 
| 6 | 
            -
            #   <dot>bugzilla_credentials.yaml
         | 
| 7 | 
            -
            # 
         | 
| 8 | 
            -
            ---
         | 
| 9 | 
            -
            :bugzilla_options:
         | 
| 10 | 
            -
              :bugzilla_uri: https://bugzilla.redhat.com/
         | 
| 11 | 
            -
              :debug: true
         | 
| 12 | 
            -
            :bugzilla_credentials:
         | 
| 13 | 
            -
              :username: Your bugzilla login name
         | 
| 14 | 
            -
              :password: Your bugzilla password
         |