@@ -5,6 +5,11 @@ class ResumptionTokenFunctionalTest < Test::Unit::TestCase
55
66 def setup
77 @provider = ComplexProvider . new
8+ @provider . model . instance_variable_set ( :@limit , 120 )
9+ end
10+
11+ def teardown
12+ @provider . model . instance_variable_set ( :@limit , 100 )
813 end
914
1015 def test_resumption_tokens
@@ -13,15 +18,15 @@ def test_resumption_tokens
1318 end
1419 doc = Document . new ( @provider . list_records ( :metadata_prefix => 'oai_dc' ) )
1520 assert_not_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ]
16- assert_equal 101 , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
21+ assert_equal ( @provider . model . limit + 1 ) , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
1722 token = doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ] . text
1823 doc = Document . new ( @provider . list_records ( :resumption_token => token ) )
1924 assert_not_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ]
20- assert_equal 101 , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
25+ assert_equal ( @provider . model . limit + 1 ) , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
2126 end
2227
2328 def test_from_and_until_with_resumption_tokens
24- # Should return 300 records broken into 3 groups of 100 .
29+ # Should return 300 records broken into 3 groups of 120, 120, and 60 .
2530 assert_nothing_raised do
2631 Document . new ( @provider . list_records ( :metadata_prefix => 'oai_dc' ) )
2732 end
@@ -31,17 +36,20 @@ def test_from_and_until_with_resumption_tokens
3136 :from => Time . parse ( "September 1 2004" ) ,
3237 :until => Time . parse ( "November 30 2004" ) )
3338 )
34- assert_equal 101 , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
39+ assert_equal ( @provider . model . limit + 1 ) , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
40+ assert_not_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ]
3541 token = doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ] . text
3642
3743 doc = Document . new ( @provider . list_records ( :resumption_token => token ) )
3844 assert_not_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ]
39- assert_equal 101 , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
45+ assert_equal ( @provider . model . limit + 1 ) , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
4046 token = doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ] . text
4147
4248 doc = Document . new ( @provider . list_records ( :resumption_token => token ) )
43- assert_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ]
44- assert_equal 100 , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
49+ # assert that ListRecords includes remaining records and an empty resumption token
50+ assert_equal ( 301 % @provider . model . limit ) , doc . elements [ "/OAI-PMH/ListRecords" ] . to_a . size
51+ assert_not_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ]
52+ assert_nil doc . elements [ "/OAI-PMH/ListRecords/resumptionToken" ] . text
4553 end
4654
4755end
0 commit comments