App-Spoor

 view release on metacpan or  search on metacpan

t/ParsedEntryWriter.t  view on Meta::CPAN

use strict;
use warnings;
use utf8;
use v5.10;

use Test::More;
use Test::MockTime qw(set_fixed_time);
use Test::SetupTeardown;

use File::Path qw(remove_tree);
use YAML::Tiny;
use JSON;

my $test_user = getpwuid($>);
my $random_element = int(rand(1000000)) + 1000000;

my $root_path = "/tmp/app_spoor_test_root";

sub setup {
  mkdir("$root_path", 0744);
  mkdir("$root_path/var", 0744);
  mkdir("$root_path/var/lib", 0744);
  mkdir("$root_path/var/lib/spoor", 0744);
  mkdir("$root_path/var/lib/spoor/parsed", 0744);
}

sub teardown {
  remove_tree($root_path);
}

sub file_contents {
  my $filepath = shift;
  my $json = do {
    local $/;
    open my $fh, '<:raw', $filepath;
    <$fh>;
  };

  JSON->new->decode($json);
}
my $parsed_entries_path = "$root_path/var/lib/spoor/parsed";

my $current_time = time;
set_fixed_time($current_time);

my %contents = (
  type => 'foo',
  event => 'forward_added',
);

my %unrecognised_contents = (
  type => 'foo',
  event  => 'unrecognised'
);
my %config = (
  parsed_entries_path => $parsed_entries_path,
);

BEGIN {
  use_ok('App::Spoor::ParsedEntryWriter') || print "Could not load App::Spoor::AccessEntryParser\n";
}

ok(
  defined(&App::Spoor::ParsedEntryWriter::write_parsed_entry),
  'App::Spoor::ParsedEntryWriter::write_parsed_entry is not defined'
);

my $environment = Test::SetupTeardown->new(setup => \&setup, teardown => \&teardown);

my %successful_mailbox_login_contents = (
  type => 'login',
  event => 'login',
  context => 'mailbox',
  status => 'success'



( run in 3.285 seconds using v1.01-cache-2.11-cpan-75ffa21a3d4 )