MCPcopy
hub / github.com/IBM/sarama / TestSASLSCRAMSHAXXX

Function TestSASLSCRAMSHAXXX

broker_test.go:533–636  ·  broker_test.go::TestSASLSCRAMSHAXXX
(t *testing.T)

Source from the content-addressed store, hash-verified

531var _ SCRAMClient = &MockSCRAMClient{}
532
533func TestSASLSCRAMSHAXXX(t *testing.T) {
534 testTable := []struct {
535 name string
536 mockHandshakeErr KError
537 mockSASLAuthErr KError
538 expectClientErr bool
539 scramClient *MockSCRAMClient
540 scramChallengeResp string
541 }{
542 {
543 name: "SASL/SCRAMSHAXXX successful authentication",
544 mockHandshakeErr: ErrNoError,
545 scramClient: &MockSCRAMClient{},
546 scramChallengeResp: "pong",
547 },
548 {
549 name: "SASL/SCRAMSHAXXX SCRAM client step error client",
550 mockHandshakeErr: ErrNoError,
551 mockSASLAuthErr: ErrNoError,
552 scramClient: &MockSCRAMClient{},
553 scramChallengeResp: "gong",
554 expectClientErr: true,
555 },
556 {
557 name: "SASL/SCRAMSHAXXX server authentication error",
558 mockHandshakeErr: ErrNoError,
559 mockSASLAuthErr: ErrSASLAuthenticationFailed,
560 scramClient: &MockSCRAMClient{},
561 scramChallengeResp: "pong",
562 },
563 {
564 name: "SASL/SCRAMSHAXXX unsupported SCRAM mechanism",
565 mockHandshakeErr: ErrUnsupportedSASLMechanism,
566 mockSASLAuthErr: ErrNoError,
567 scramClient: &MockSCRAMClient{},
568 scramChallengeResp: "pong",
569 },
570 }
571
572 for i, test := range testTable {
573 t.Run(test.name, func(t *testing.T) {
574 // mockBroker mocks underlying network logic and broker responses
575 mockBroker := NewMockBroker(t, 0)
576 broker := NewBroker(mockBroker.Addr())
577 // broker executes SASL requests against mockBroker
578 broker.requestRate = metrics.NilMeter{}
579 broker.outgoingByteRate = metrics.NilMeter{}
580 broker.incomingByteRate = metrics.NilMeter{}
581 broker.requestSize = metrics.NilHistogram{}
582 broker.responseSize = metrics.NilHistogram{}
583 broker.responseRate = metrics.NilMeter{}
584 broker.requestLatency = metrics.NilHistogram{}
585 broker.requestsInFlight = metrics.NilCounter{}
586
587 mockSASLAuthResponse := NewMockSaslAuthenticateResponse(t).SetAuthBytes([]byte(test.scramChallengeResp))
588 mockSASLHandshakeResponse := NewMockSaslHandshakeResponse(t).SetEnabledMechanisms([]string{SASLTypeSCRAMSHA256, SASLTypeSCRAMSHA512})
589
590 if !errors.Is(test.mockSASLAuthErr, ErrNoError) {

Callers

nothing calls this directly

Calls 15

AddrMethod · 0.95
SetHandlerByMapMethod · 0.95
OpenMethod · 0.95
CloseMethod · 0.95
ConnectedMethod · 0.95
CloseMethod · 0.95
NewMockBrokerFunction · 0.85
NewBrokerFunction · 0.85
RunMethod · 0.80
SetAuthBytesMethod · 0.80

Tested by

no test coverage detected