Parcourir la source

enabled previous failed tests

git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1401 e5f2f494-b856-4b98-b285-d166d9295462
JINMEI Tatuya il y a 15 ans
Parent
commit
df5d3eb43b
1 fichiers modifiés avec 42 ajouts et 23 suppressions
  1. 42 23
      src/lib/auth/tests/sqlite3_unittest.cc

+ 42 - 23
src/lib/auth/tests/sqlite3_unittest.cc

@@ -148,12 +148,19 @@ protected:
         cname_nsec_sig_data.push_back("NSEC 5 3 7200" + sigdata_common);
         delegation_ns_data.push_back("ns1.subzone.example.com.");
         delegation_ns_data.push_back("ns2.subzone.example.com.");
-        delegation_ds_data.push_back("33313 5 1 "
-                                     "FDD7A2C11AA7F55D50FBF9B7EDDA2322C541A8DE");
-        delegation_ds_data.push_back("33313 5 2 "
-                                     "0B99B7006F496D135B01AB17EDB469B4BE9E"
-                                     "1973884DEA757BC4E3015A8C3AB3");
+        delegation_ds_data.push_back("40633 5 1 "
+                                     "3E56C0EA92CF529E005A4B62979533350492 "
+                                     "F105");
+        delegation_ds_data.push_back("40633 5 2 "
+                                     "AA8D4BD330C68BFB4D785894DDCF6B689CE9"
+                                     "873C4A3801F57A5AA3FE17925B8C");
         delegation_ds_sig_data.push_back("DS 5 3 3600" + sigdata_common);
+        child_ds_data.push_back("33313 5 1 "
+                                "FDD7A2C11AA7F55D50FBF9B7EDDA2322C541A8DE");
+        child_ds_data.push_back("33313 5 2 "
+                                "0B99B7006F496D135B01AB17EDB469B4BE9E"
+                                "1973884DEA757BC4E3015A8C3AB3");
+        child_ds_sig_data.push_back("DS 5 3 3600" + sigdata_common);
         delegation_nsec_data.push_back("*.wild.example.com. NS DS RRSIG NSEC");
         delegation_nsec_sig_data.push_back("NSEC 5 3 7200" + sigdata_common);
         child_a_data.push_back("192.0.2.100");
@@ -210,6 +217,8 @@ protected:
     vector<string> delegation_ns_sig_data;
     vector<string> delegation_ds_data;
     vector<string> delegation_ds_sig_data;
+    vector<string> child_ds_data;
+    vector<string> child_ds_sig_data;
     vector<string> delegation_nsec_data;
     vector<string> delegation_nsec_sig_data;
     vector<string> child_a_data;
@@ -692,26 +701,38 @@ TEST_F(Sqlite3DataSourceTest, findRRsetDelegationAtZoneCut) {
     checkFind(NORMAL, data_source, qname, &zone_name, rrclass,
               rrtype, rrttl, DataSrc::REFERRAL, delegation_ns_data, NULL);
 
-    // For ANY query.  What should we do?
-#if 0
+    // For ANY query.  At the backend data source level, it returns all
+    // existent records with their RRSIGs, setting the referral flag.
     rrtype = RRType::ANY();
-    EXPECT_EQ(DataSrc::SUCCESS,
-              data_source.findRRset(qname, rrclass, rrtype,
-                                    result_sets, find_flags, NULL));
-    EXPECT_EQ(DataSrc::REFERRAL, find_flags);
-#endif
+    types.push_back(RRType::NS());
+    types.push_back(RRType::NSEC());
+    types.push_back(RRType::DS());
+    ttls.push_back(rrttl);
+    ttls.push_back(RRTTL(7200));
+    ttls.push_back(rrttl);
+    answers.push_back(&delegation_ns_data);
+    answers.push_back(&delegation_nsec_data);
+    answers.push_back(&delegation_ds_data);
+    signatures.push_back(NULL);
+    signatures.push_back(&delegation_nsec_sig_data);
+    signatures.push_back(&delegation_ds_sig_data);
+
+    checkFind(NORMAL, data_source, qname, &zone_name, rrclass,
+              rrtype, ttls, DataSrc::REFERRAL, types, answers,
+              signatures);
+    checkFind(NORMAL, data_source, qname, NULL, rrclass,
+              rrtype, ttls, DataSrc::REFERRAL, types, answers,
+              signatures);
 
-    // For NSEC query.  What should we do?  Probably return the NSEC + RRSIG
-    // without REFERRAL.  But it currently doesn't act like so.
-#if 0
+    // For NSEC query.  At the backend data source level, it returns NSEC+
+    // RRSIG with the referral flag.
     rrtype = RRType::NSEC();
     checkFind(NORMAL, data_source, qname, NULL, rrclass,
-              rrtype, RRTTL(7200), 0, delegation_nsec_data,
+              rrtype, RRTTL(7200), DataSrc::REFERRAL, delegation_nsec_data,
               &delegation_nsec_sig_data);
     checkFind(NORMAL, data_source, qname, &zone_name, rrclass,
-              rrtype, RRTTL(7200), 0, delegation_nsec_data,
+              rrtype, RRTTL(7200), DataSrc::REFERRAL, delegation_nsec_data,
               &delegation_nsec_sig_data);
-#endif    
 }
 
 TEST_F(Sqlite3DataSourceTest, findRRsetInChildZone) {
@@ -787,7 +808,6 @@ TEST_F(Sqlite3DataSourceTest, findExactRRsetCNAME) {
               signatures);
 }
 
-#if 0 // this should work, but doesn't.  maybe the loadzone tool is broken?
 TEST_F(Sqlite3DataSourceTest, findReferralRRset) {
     // A referral lookup searches for NS, DS, or DNAME, or their sigs.
     const Name qname("sql1.example.com");
@@ -797,15 +817,14 @@ TEST_F(Sqlite3DataSourceTest, findReferralRRset) {
     ttls.push_back(rrttl);
     ttls.push_back(rrttl);
     answers.push_back(&apex_ns_data);
-    answers.push_back(&delegation_ds_data);
+    answers.push_back(&child_ds_data);
     signatures.push_back(NULL);
-    signatures.push_back(&delegation_ds_sig_data);
+    signatures.push_back(&child_ds_sig_data);
     // Note: zone_name matters here because we need to perform the search
     // in the parent zone.
     checkFind(REFERRAL, data_source, qname, &zone_name, rrclass,
-              rrtype, ttls, 0, types, answers, signatures);
+              rrtype, ttls, DataSrc::REFERRAL, types, answers, signatures);
 }
-#endif
 
 TEST_F(Sqlite3DataSourceTest, findReferralRRsetClassMismatch) {
     EXPECT_EQ(DataSrc::ERROR,