Branch Coverage

blib/lib/MongoDB/_Credential.pm
Criterion Covered Total %
branch 8 54 14.8


line true false branch
146 0 0 if $self->pw_is_digest
153 2 19 if ($mech eq 'PLAIN')
156 9 10 $mech eq 'MONGODB-X509' || $mech eq 'GSSAPI' ? :
213 9 103 unless (&$validator())
220 7 324 if ($mech eq 'GSSAPI')
232 0 0 if ($mech eq 'DEFAULT')
271 0 0 unless ($username or $link->supports_x509_user_from_cert)
272 0 0 unless $username = $link->client_certificate_subject
277 0 0 $username ? :
300 0 0 unless eval { do { require Authen::SASL; 1 } }
316 0 0 unless (eval { do { $sasl = 'Authen::SASL'->new('mechanism', 'GSSAPI', 'callback', {'user', $self->username, 'authname', $self->username}); $client = $sasl->client_new($self->mechanism_properties->{'SERVICE_NAME'}, $link->host); 1 } })
333 0 0 if $done
340 0 0 unless (eval { do { my $step = $client->client_start; $self->_assert_gssapi($client, 'Could not start GSSAPI. Did you run kinit? Error was: '); my($sasl_resp, $conv_id, $done) = $self->_sasl_start($link, $bson_codec, $step, 'GSSAPI'); foreach my $i (1 .. 10) { last if $done; $step = $client->client_step($sasl_resp); $self->_assert_gssapi($client, 'GSSAPI step error: '); ($sasl_resp, $conv_id, $done) = $self->_sasl_continue($link, $bson_codec, $step, $conv_id); } ; 1 } })
342 0 0 $error->$MongoDB::_Credential::_isa('MongoDB::Error') ? :
368 0 0 if (my $supported = $server->is_master->{'saslSupportedMechs'})
369 0 0 if (grep {$_ eq 'SCRAM-SHA-256';} @$supported)
375 0 0 if ($link->supports_scram_sha1)
391 0 0 if ($type =~ /^Authen::SASL::(?:XS|Cyrus)$/) { }
393 0 0 if ($code != 0 and $code != 1)
400 0 0 if (my $error = $client->error)
412 0 0 unless defined $payload
413 0 0 if $self->mechanism eq 'GSSAPI'
420 0 0 unless defined $payload and length $payload
421 0 0 if ref $payload
475 0 0 unless $done
477 0 0 unless (eval { do { $msg = $client->first_msg; ($sasl_resp, $conv_id, $done) = $self->_sasl_start($link, $bson_codec, $msg, $mech); $msg = $client->final_msg($sasl_resp); ($sasl_resp, $conv_id, $done) = $self->_sasl_continue($link, $bson_codec, $msg, $conv_id); $client->validate($sasl_resp); $self->_sasl_continue($link, $bson_codec, '', $conv_id) unless $done; 1 } })
479 0 0 $error->$MongoDB::_Credential::_isa('MongoDB::Error') ? :