diff --git a/t/samlmetadata.t b/t/samlmetadata.t
index e6ab2a69b69da16892f194e666f12edab163b4ec..ef44024b6e1825738110e0f02878addb1bd89309 100755
--- a/t/samlmetadata.t
+++ b/t/samlmetadata.t
@@ -10,7 +10,7 @@ use Test::Exception;
 
 use IdPAccountManager::SAMLMetadata;
 
-plan tests => 16;
+plan tests => 21;
 
 my $metadata;
 
@@ -90,8 +90,16 @@ my $sp = $metadata->parse(entity_id => 'https://filesender.ipm.ir/');
 ok(defined $sp, 'filtered metadata extraction: defined result');
 ok(ref $sp eq 'ARRAY', 'filtered metadata extraction: result type');
 ok(scalar @$sp == 1, 'filtered metadata extraction: result count');
+is($sp->[0]->{entityid}, 'https://filesender.ipm.ir/', 'filtered entity has expected ID');
 
 my $none = $metadata->parse(entity_id => 'https://no.such.sp/');
 ok(defined $none, 'filtered metadata extraction: defined result');
 ok(ref $none eq 'ARRAY', 'filtered metadata extraction: result type');
 ok(scalar @$none == 0, 'filtered metadata extraction: result count');
+
+my $idp = $metadata->parse(entity_type => 'idp');
+ok(defined $idp, 'filtered metadata extraction: defined result');
+ok(ref $idp eq 'ARRAY', 'filtered metadata extraction: result type');
+ok(scalar @$idp == 2561, 'filtered metadata extraction: result count');
+is($idp->[0]->{type}, 'idp', 'filtered entity has expected type');
+