Apipie/apipie-rails

lexical error: invalid bytes in UTF8 string. (JSON::ParserError)

alex-quip opened this issue · 1 comments

First i run

APIPIE_RECORD=params rspec spec/api/v2/my_first_controller_spec.rb

and i adjust the params in the controller
then i run

APIPIE_RECORD=examples rspec spec/api/v2/my_first_controller_spec.rb

all fine so far!

but when you run the command against another controller it raises this exception

APIPIE_RECORD=examples rspec spec/api/v2/my_controller_spec.rb
Writing examples to a file
Traceback (most recent call last):
	11: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor.rb:185:in `block in <main>'
	10: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor.rb:52:in `finish'
	 9: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor.rb:84:in `write_examples'
	 8: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:77:in `write_examples'
	 7: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:134:in `merge_old_new_examples'
	 6: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:129:in `load_recorded_examples'
	 5: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:30:in `load_recorded_examples'
	 4: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:63:in `load_json_examples'
	 3: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:51:in `deserialize_examples'
	 2: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/yajl-ruby-1.3.1/lib/yajl/json_gem/parsing.rb:13:in `parse'
	 1: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/yajl-ruby-1.3.1/lib/yajl.rb:37:in `parse'
/usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/yajl-ruby-1.3.1/lib/yajl.rb:37:in `parse': lexical error: invalid bytes in UTF8 string. (Yajl::ParseError)
          DF-1.4\n1 0 obj\n<<\n/Title (��)\n/Creator (��\u0000w\u0000k
                     (right here) ------^
	10: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor.rb:185:in `block in <main>'
	 9: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor.rb:52:in `finish'
	 8: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor.rb:84:in `write_examples'
	 7: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:77:in `write_examples'
	 6: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:134:in `merge_old_new_examples'
	 5: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:129:in `load_recorded_examples'
	 4: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:30:in `load_recorded_examples'
	 3: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:63:in `load_json_examples'
	 2: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/apipie-rails-0.5.19/lib/apipie/extractor/writer.rb:51:in `deserialize_examples'
	 1: from /usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/yajl-ruby-1.3.1/lib/yajl/json_gem/parsing.rb:11:in `parse'
/usr/lib/fullstaq-ruby/versions/2.6-jemalloc/lib/ruby/gems/2.6.0/gems/yajl-ruby-1.3.1/lib/yajl/json_gem/parsing.rb:15:in `rescue in parse': lexical error: invalid bytes in UTF8 string. (JSON::ParserError)
          DF-1.4\n1 0 obj\n<<\n/Title (��)\n/Creator (��\u0000w\u0000k
                     (right here) ------^
JSON::ParserError:
  lexical error: invalid bytes in UTF8 string.
            DF-1.4\n1 0 obj\n<<\n/Title (??)\n/Creator (??\u0000w\u0000k
                       (right here) ------^
# ./app/controllers/api/v2/my_controller.rb:6:in `<class:MyController>'
# ./app/controllers/api/v2/my_controller.rb:1:in `<main>'
# ./spec/api/v2/my_controller_spec.rb:3:in `<top (required)>'
# ------------------
# --- Caused by: ---
# Yajl::ParseError:
#   lexical error: invalid bytes in UTF8 string.
#             DF-1.4\n1 0 obj\n<<\n/Title (??)\n/Creator (??\u0000w\u0000k
#                        (right here) ------^
#   ./app/controllers/api/v2/my_controller.rb:6:in `<class:MyController>'

possibly related to #736

please reopen if this is not fix in 0.7.0

thanks