@@ -70,7 +70,7 @@ public void Test_Unknown_XML_Element()
7070 Assert . Empty ( cacheEntry . ErrorMessage ) ;
7171 Assert . Equal ( 2 , _listener . Events . Count ) ;
7272 Assert . Equal ( 92 , _listener . Events [ 0 ] . EventId ) ;
73-
73+ output . WriteLine ( _listener . Events [ 0 ] . Message ) ;
7474 File . Delete ( filename ) ;
7575 }
7676
@@ -96,4 +96,58 @@ public void Test_Unknown_XML_Element2()
9696 File . Delete ( filename ) ;
9797 }
9898
99+ [ Fact ]
100+ public void Test_Yubikey_Policies ( )
101+ {
102+ var filename = Path . GetTempFileName ( ) ;
103+
104+ string sampleXML = @"<CertificateRequestPolicy xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""
105+ xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">
106+ <YubikeyPolicies>
107+ <YubikeyPolicy>
108+ <Action>Allow</Action>
109+ <PinPolicy>
110+ <string>Always</string>
111+ <string>Once</string>
112+ </PinPolicy>
113+ <TouchPolicy>
114+ <string>Always</string>
115+ <string>Cached</string>
116+ </TouchPolicy>
117+ </YubikeyPolicy>
118+ </YubikeyPolicies>
119+
120+ </CertificateRequestPolicy>
121+ " ;
122+ File . WriteAllText ( filename , sampleXML ) ;
123+ _listener . ClearEvents ( ) ;
124+
125+ CertificateRequestPolicyCacheEntry cacheEntry = new CertificateRequestPolicyCacheEntry ( filename ) ;
126+
127+ //Assert.Empty(cacheEntry.ErrorMessage);
128+ //Assert.Equal(2, _listener.Events.Count);
129+ Assert . DoesNotContain ( 92 , _listener . Events . Select ( e => e . EventId ) ) ;
130+ File . Delete ( filename ) ;
131+ }
132+
133+
134+ [ Fact ]
135+ public void Broken_XML_Policies ( )
136+ {
137+ var filename = Path . GetTempFileName ( ) ;
138+
139+ string sampleXML = @"<CertificateRequestPolicy xmlns:xsi=""""http://www.w3.org/2001/XMLSchema-instance""""
140+ xmlns:xsd=""""http://www.w3.org/2001/XMLSchema"""">
141+ </CertificateRequestPolicy>
142+ " ;
143+ File . WriteAllText ( filename , sampleXML ) ;
144+ _listener . ClearEvents ( ) ;
145+
146+ CertificateRequestPolicyCacheEntry cacheEntry = new CertificateRequestPolicyCacheEntry ( filename ) ;
147+
148+ output . WriteLine ( cacheEntry . ErrorMessage ) ;
149+ Assert . Contains ( 94 , _listener . Events . Select ( e => e . EventId ) ) ;
150+ File . Delete ( filename ) ;
151+ }
152+
99153}
0 commit comments