2 use LibTracker::Client qw(:all);
4 if( !defined $ENV{LTC_TRACKER_RUNNING} ) {
5 plan skip_all => "LTC_TRACKER_RUNNING not set";
11 my $tracker = LibTracker::Client->get_instance();
14 skip "LTC_TEST_PATH not set", 5 unless defined $ENV{LTC_TEST_PATH};
16 my $path = $ENV{LTC_TEST_PATH};
17 my $field = ENV{LTC_META_FIELD} || "File:Other";
18 my $test_value = "XXX_LTCMETA_XXX";
21 my $metadata = { $field => $test_value };
22 my $num_changes = $tracker->set_metadata(SERVICE_FILES, $path, $metadata);
23 is( $num_changes, 1, "number of fields changed" );
26 my $metadata = $tracker->get_metadata(SERVICE_FILES, $path, [ $field ]);
27 is( $metadata->{$field}, $test_value, "metadata" );
30 my $results = $tracker->search_metadata(SERVICE_FILES, $field, $test_value, 0, 100);
31 ok( $results, "search results" );
32 ok( ref $results =~ /ARRAY/, "search results return type" );
33 ok( contains( $results, $file ), "test file in results" );
36 # register metadata type
38 $tracker->register_metadata_type("Doc:Text", DATA_STRING_INDEXABLE);
39 pass("register metadata type"); # if it reaches this - it passed.
41 my $arrayref = $tracker->get_registered_metadata_classes();
42 ok( $arrayref, "metadata_classes return value" );
43 ok( ref $arrayref =~ /ARRAY/, "metadata_classes return value type" );
45 my $types = $tracker->get_registered_metadata_types($arrayref->[0]);
46 ok( $types, "metadata_types return value" );
47 ok( ref $types =~ /ARRAY/, "metadata_types return value type" );
49 my $wt = $tracker->get_writeable_metadata_types($arrayref->[0]);
50 ok( $wt, "writeable_metadata_types return value" );
51 ok( ref $wt =~ /ARRAY/, "writeable_metadata_types return value type" );