API-INSEE-Sirene

 view release on metacpan or  search on metacpan

t/API-INSEE-Sirene.t  view on Meta::CPAN


$sirene->setDebugMode(1);

my @oks_request_GET = (
    [ 'getLegalUnitBySIREN',     '123456789'      ],
    [ 'getEstablishmentBySIRET', '12345678901234' ],
);

foreach (@oks_request_GET) {
    my ($method, @args) = @{$_};

    can_ok($sirene, $method);

    my ($err, $request) = $sirene->$method(@args);

    ok(0 == $err);
    $request =~ s/^Sent request:\n//m;

    my $r = HTTP::Request->parse($request);

    ok($r->method eq 'GET');
    ok($r->uri =~ qr{/sire[nt]/\d{9,14}\?});
}

my @oks_request_POST = (
    [ 'getEstablishmentsByUsualName', 'foo' ],
    [ 'getEstablishmentsByName',      'foo' ],
);

=for doc

# q=((denominationUsuelle1UniteLegale%3A%22foo%22~+OR+denominationUsuelle1UniteLegale%3A*foo*))&date=2021-02-02&nombre=20
# q=((denominationUniteLegale%3A%22foo%22~+OR+denominationUniteLegale%3A*foo*))&date=2021-02-02&nombre=20

=cut

foreach (@oks_request_POST) {
    my ($method, @args) = @{$_};

    can_ok($sirene, $method);

    my ($err, $request) = $sirene->$method(@args);

    ok(0 == $err);
    $request =~ s/^Sent request:\n//m;

    my $r = HTTP::Request->parse($request);

    ok($r->method eq 'POST');
    ok($r->uri =~ qr{/siret$});

    my %param = ();
    foreach my $param (split '&', $r->content) {
        my ($key, $value) = split '=', $param;
        $param{$key} = $value;
    }

    ok(exists $param{'q'} && exists $param{'date'} && exists $param{'nombre'});
}

plan tests => 1 + (scalar @oks_custom_criteria) + (4 * scalar @oks_request_GET) + (5 * scalar @oks_request_POST);



( run in 0.684 second using v1.01-cache-2.11-cpan-39bf76dae61 )