Sha256: bf4c37fa77f174d1b1305ffe3407398ef390e6c4fe385467feeab2583697b4f9

Contents?: true

Size: 983 Bytes

Versions: 5

Compression:

Stored size: 983 Bytes

Contents

# frozen_string_literal: true

module PubSubModelSync
  class MockGoogleService
    class MockStop
      def wait!
        true
      end
    end

    class MockSubscriber
      def start
        true
      end

      def stop
        @stop ||= MockStop.new
      end
      alias stop! stop
    end

    class MockSubscription
      def listen(*_args)
        @listen ||= MockSubscriber.new
      end
    end

    class MockTopic
      def name
        'name'
      end

      def subscription(*_args)
        @subscription ||= MockSubscription.new
      end
      alias subscribe subscription

      def publish(*_args)
        true
      end

      def publish_async(*_args)
        yield(OpenStruct.new(succeeded?: true)) if block_given?
      end

      def resume_publish(_ordering_key)
        true
      end

      def enable_message_ordering!
        true
      end
    end

    def topic(*_args)
      @topic ||= MockTopic.new
    end
    alias create_topic topic
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
pub_sub_model_sync-1.9.1 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-1.9.0 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-1.7.2 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-1.7.1 lib/pub_sub_model_sync/mock_google_service.rb
pub_sub_model_sync-1.7.0 lib/pub_sub_model_sync/mock_google_service.rb