+ void testFilesystemWithBlacklists() {\r
+ string config = data_path + "saml2/metadata/FilesystemWithBlacklists.xml";\r
+ ifstream in(config.c_str());\r
+ DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(in);\r
+ XercesJanitor<DOMDocument> janitor(doc);\r
+\r
+ auto_ptr_XMLCh path("path");\r
+ string s = data_path + "saml2/metadata/InCommon-metadata.xml";\r
+ auto_ptr_XMLCh file(s.c_str());\r
+ doc->getDocumentElement()->setAttributeNS(NULL,path.get(),file.get());\r
+\r
+ auto_ptr<MetadataProvider> metadataProvider(\r
+ SAMLConfig::getConfig().MetadataProviderManager.newPlugin(FILESYSTEM_METADATA_PROVIDER,doc->getDocumentElement())\r
+ );\r
+ try {\r
+ metadataProvider->init();\r
+ }\r
+ catch (XMLToolingException& ex) {\r
+ TS_TRACE(ex.what());\r
+ throw;\r
+ }\r
+\r
+ Locker locker(metadataProvider.get());\r
+ const EntityDescriptor* descriptor = metadataProvider->getEntityDescriptor(entityID);\r
+ TSM_ASSERT("Retrieved entity descriptor was not null", descriptor==NULL);\r
+ descriptor = metadataProvider->getEntityDescriptor(entityID2);\r
+ TSM_ASSERT("Retrieved entity descriptor was null", descriptor!=NULL);\r
+ assertEquals("Entity's ID does not match requested ID", entityID2, descriptor->getEntityID());\r
+ }\r
+\r
+ void testFilesystemWithWhitelists() {\r
+ string config = data_path + "saml2/metadata/FilesystemWithWhitelists.xml";\r
+ ifstream in(config.c_str());\r
+ DOMDocument* doc=XMLToolingConfig::getConfig().getParser().parse(in);\r
+ XercesJanitor<DOMDocument> janitor(doc);\r
+\r
+ auto_ptr_XMLCh path("path");\r
+ string s = data_path + "saml2/metadata/InCommon-metadata.xml";\r
+ auto_ptr_XMLCh file(s.c_str());\r
+ doc->getDocumentElement()->setAttributeNS(NULL,path.get(),file.get());\r
+\r
+ auto_ptr<MetadataProvider> metadataProvider(\r
+ SAMLConfig::getConfig().MetadataProviderManager.newPlugin(FILESYSTEM_METADATA_PROVIDER,doc->getDocumentElement())\r
+ );\r
+ try {\r
+ metadataProvider->init();\r
+ }\r
+ catch (XMLToolingException& ex) {\r
+ TS_TRACE(ex.what());\r
+ throw;\r
+ }\r
+\r
+ Locker locker(metadataProvider.get());\r
+ const EntityDescriptor* descriptor = metadataProvider->getEntityDescriptor(entityID2);\r
+ TSM_ASSERT("Retrieved entity descriptor was not null", descriptor==NULL);\r
+ descriptor = metadataProvider->getEntityDescriptor(entityID);\r
+ TSM_ASSERT("Retrieved entity descriptor was null", descriptor!=NULL);\r
+ assertEquals("Entity's ID does not match requested ID", entityID, descriptor->getEntityID());\r
+ }\r