Crypt-TimestampedData

 view release on metacpan or  search on metacpan

t/06_alias.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;
use Test::More tests => 9;
use Test::Exception;
use File::Temp qw(tempdir);
use File::Spec;

# Test the alias
use Crypt::TSD;

print "Testing Crypt::TSD alias...\n";

# Test 1: Basic object creation
my $tsd = Crypt::TSD->new();
isa_ok($tsd, 'Crypt::TSD', 'Object creation with alias');
isa_ok($tsd, 'Crypt::TimestampedData', 'Object is also Crypt::TimestampedData');

# Test 2: Verify version
is($Crypt::TSD::VERSION, $Crypt::TimestampedData::VERSION, 'Version matches main module');

# Test 3: Test basic TSD operations
my $tsd_data = {
    version => 1,
    metaData => {
        hashProtected => 0,
        fileName => 'test_alias.txt',
        mediaType => 'text/plain'
    },
    temporalEvidence => {
        tstEvidence => []
    }
};

# Test 4: Encode TSD to DER
my $der;
lives_ok { $der = Crypt::TSD->encode_der($tsd_data) } 'Encode TSD to DER using alias';
ok(defined $der && length($der) > 0, 'DER encoding produced data');

# Test 5: Decode DER back to TSD
my $decoded_tsd;
lives_ok { $decoded_tsd = Crypt::TSD->decode_der($der) } 'Decode DER to TSD using alias';
ok(defined $decoded_tsd, 'Decoded TSD is defined');

# Test 6: Verify roundtrip data integrity
is($decoded_tsd->{version}, $tsd_data->{version}, 'Version preserved in roundtrip');
is($decoded_tsd->{metaData}->{fileName}, $tsd_data->{metaData}->{fileName}, 'Filename preserved in roundtrip');

print "Crypt::TSD alias test completed successfully\n";



( run in 0.713 second using v1.01-cache-2.11-cpan-df04353d9ac )