Sha256: 4265892ffcd13efdd15bbed2699134b228bdd1764f3e5835c88157ea25f57d3a
Contents?: true
Size: 1.49 KB
Versions: 3
Compression:
Stored size: 1.49 KB
Contents
require 'rspectacles/config' require 'redis' require 'uri' require 'json' module RSpectacles module Adapter class RedisLogger attr_reader :redis, :test_run_key def initialize(test_run_key: nil) @redis = ::Redis.new host: uri.host, port: uri.port, password: uri.password, username: uri.user @test_run_key = test_run_key || config.last_run_primary_key end def config RSpectacles.config end def uri @uri ||= URI.parse config.redis_uri end def delete_last_log redis.del config.last_run_primary_key end def stop log 'status:stop' end def start log 'status:start' end def message(text) log "message:#{text}" end def log(message) queue "#{test_run_key}:#{message}" end def log_formatted(example) message = format_example(example) queue message end def queue(message) redis.publish config.pubsub_channel_name, message redis.lpush test_run_key, message end def format_example(example) { rspec_run: test_run_key, description: example.description, full_description: example.full_description, status: example.execution_result.status, duration: example.execution_result.run_time, file_path: example.metadata[:file_path], line_number: example.metadata[:line_number] }.to_json end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rspectacles-0.2.2 | lib/rspectacles/adapter/redis_logger.rb |
rspectacles-0.2.1 | lib/rspectacles/adapter/redis_logger.rb |
rspectacles-0.2.0 | lib/rspectacles/adapter/redis_logger.rb |