Data-Riak

 view release on metacpan or  search on metacpan

t/http/request-class-async.t  view on Meta::CPAN

use strict;
use warnings;
use Test::More 0.89;
use Test::Fatal;
use MIME::Base64;

{
    package Data::Riak::HTTP::Request::BasicAuth;

    use Moose;
    use MIME::Base64;
    use namespace::autoclean;

    extends 'Data::Riak::HTTP::Request';

    has [map { "basic_auth_$_" } qw(username password)] => (
        is       => 'ro',
        isa      => 'Str',
        required => 1,
    );

    sub _build_headers {
        my ($self) = @_;

        return {
            Authorization => 'Basic ' . encode_base64(
                join q[:] => map {
                    $self->${\"basic_auth_$_"}
                } qw(username password),
            ),
        };
    }

    __PACKAGE__->meta->make_immutable;
}

{
    package Mock::Data::Riak::Async::HTTP;

    use Moose;
    use namespace::autoclean;

    extends 'Data::Riak::Async::HTTP';

    sub _send_via_anyevent_http {
        my ($self, $http_request, $cb, $error_cb) = @_;
        $error_cb->($http_request);
    }

    __PACKAGE__->meta->make_immutable;
}

use Data::Riak::Async;

my $username = 'foo';
my $password = 'bar';

my $t = Mock::Data::Riak::Async::HTTP->new({
    host          => 'some-host.example.com',
    port          => 8098,
    request_class => Data::Riak::HTTP::Request::BasicAuth::,
    request_class_args => {
        basic_auth_username => $username,
        basic_auth_password => $password,



( run in 2.061 seconds using v1.01-cache-2.11-cpan-54e63673c56 )