Attean
view release on metacpan or search on metacpan
lib/Test/Attean/W3CManifestTestSuite.pm view on Meta::CPAN
package Test::Attean::W3CManifestTestSuite;
use v5.14;
use warnings;
use Attean;
use Attean::RDF;
use AtteanX::Parser::SPARQL;
use Attean::SimpleQueryEvaluator;
use Test::Attean::TestSimpleQueryEvaluator;
use Test::Attean::TestIDPQueryPlanner;
use Carp;
use HTTP::Request;
use HTTP::Response;
use HTTP::Message::PSGI;
use Data::Dumper;
use Encode qw(encode encode_utf8 decode_utf8);
use Getopt::Long;
use Regexp::Common qw /URI/;
use Scalar::Util qw(blessed reftype);
use List::Util qw(all);
use Test::Modern;
use Test::Roo::Role;
use Text::CSV;
use Try::Tiny;
use URI::file;
use File::Spec;
use Types::Standard qw(Str Bool ArrayRef HashRef InstanceOf ConsumerOf);
require XML::Simple;
my $XSD = 'http://www.w3.org/2001/XMLSchema#';
my $RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#';
my $RDFS = 'http://www.w3.org/2000/01/rdf-schema#';
my $RS = 'http://www.w3.org/2001/sw/DataAccess/tests/result-set#';
my $MF = 'http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#';
my $UT = 'http://www.w3.org/2009/sparql/tests/test-update#';
my $RQ = 'http://www.w3.org/2001/sw/DataAccess/tests/test-query#';
my $DAWGT = 'http://www.w3.org/2001/sw/DataAccess/tests/test-dawg#';
requires 'test_model';
requires 'manifest_paths';
has run_update_tests => (is => 'rw', isa => Bool, default => 1);
has run_query_tests => (is => 'rw', isa => Bool, default => 1);
has debug => (is => 'rw', isa => Bool, default => 0);
has results => (is => 'rw', isa => Bool, default => 0);
has strict_approval => (is => 'rw', isa => Bool, default => 0);
has use_idp_planner => (is => 'rw', isa => Bool, default => 1);
has pattern => (is => 'rw', isa => Str, default => '');
has tests_dir => (is => 'rw', required => 1, default => sub { $ENV{ATTEAN_SPARQL_TESTS_DIR} });
has model => (is => 'rw', isa => ConsumerOf['Attean::API::Model'], init_arg => undef);
has manifests => (is => 'rw', isa => ArrayRef, init_arg => undef);
has default_graph => (is => 'rw');
has failures => (is => 'rw', isa => HashRef, default => sub { +{} });
sub BUILD {
my $self = shift;
if ($self->pattern) {
$self->results(1);
}
}
sub memory_model {
my $self = shift;
my $store = Attean->get_store('Memory')->new();
my $model = Attean::MutableQuadModel->new( store => $store );
return $model;
}
sub setup {
my $self = shift;
( run in 2.543 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )