@@ -415,6 +415,71 @@ public function testGetNameIdData()
415415 } catch (ValidationError $ e ) {
416416 $ this ->assertContains ('An empty NameID value found ' , $ e ->getMessage ());
417417 }
418+
419+ $ xml7 = file_get_contents (TEST_ROOT . '/data/responses/invalids/no_value_nameid.xml.base64 ' );
420+ $ response11 = new Response ($ this ->_settings , $ xml7 );
421+ $ nameIdData12 = $ response11 ->getNameIdData ();
422+ $ expectedNameIdData10 = array (
423+ 'Value ' => "" ,
424+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
425+ );
426+ $ this ->assertEquals ($ expectedNameIdData10 , $ nameIdData12 );
427+
428+ $ settingsDir = TEST_ROOT .'/settings/ ' ;
429+ include $ settingsDir .'settings1.php ' ;
430+
431+ $ settingsInfo ['strict ' ] = true ;
432+ $ settingsInfo ['security ' ]['wantNameId ' ] = true ;
433+
434+ $ settings = new Settings ($ settingsInfo );
435+ $ response12 = new Response ($ settings , $ xml7 );
436+
437+ try {
438+ $ nameIdData13 = $ response12 ->getNameIdData ();
439+ $ this ->fail ('ValidationError was not raised ' );
440+ } catch (ValidationError $ e ) {
441+ $ this ->assertContains ('An empty NameID value found ' , $ e ->getMessage ());
442+ }
443+
444+ $ settingsInfo ['security ' ]['wantNameId ' ] = false ;
445+
446+ $ settings = new Settings ($ settingsInfo );
447+ $ response13 = new Response ($ settings , $ xml7 );
448+
449+ $ nameIdData14 = $ response13 ->getNameIdData ();
450+
451+ $ expectedNameIdData11 = array (
452+ 'Value ' => "" ,
453+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
454+ );
455+ $ this ->assertEquals ($ expectedNameIdData11 , $ nameIdData14 );
456+
457+ $ settingsInfo ['strict ' ] = false ;
458+ $ settingsInfo ['security ' ]['wantNameId ' ] = true ;
459+
460+ $ settings = new Settings ($ settingsInfo );
461+ $ response14 = new Response ($ settings , $ xml7 );
462+
463+ $ nameIdData15 = $ response14 ->getNameIdData ();
464+
465+ $ expectedNameIdData12 = array (
466+ 'Value ' => "" ,
467+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
468+ );
469+ $ this ->assertEquals ($ expectedNameIdData12 , $ nameIdData15 );
470+
471+ $ settingsInfo ['security ' ]['wantNameId ' ] = false ;
472+
473+ $ settings = new Settings ($ settingsInfo );
474+ $ response15 = new Response ($ settings , $ xml7 );
475+
476+ $ nameIdData16 = $ response15 ->getNameIdData ();
477+
478+ $ expectedNameIdData13 = array (
479+ 'Value ' => "" ,
480+ 'Format ' => "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress "
481+ );
482+ $ this ->assertEquals ($ expectedNameIdData13 , $ nameIdData16 );
418483 }
419484
420485 /**
@@ -643,7 +708,7 @@ public function testGetAttributes()
643708 }
644709
645710 /**
646- * Tests the getAttributesWithFriendlyName method of the OneLogin_Saml2_Response
711+ * Tests the getAttributesWithFriendlyName method of the Response
647712 *
648713 * @covers OneLogin\Saml2\Response::getAttributesWithFriendlyName
649714 */
0 commit comments