MCPcopy
hub / github.com/segmentio/kafka-go / TestSASL

Function TestSASL

sasl/sasl_test.go:20–89  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

18)
19
20func TestSASL(t *testing.T) {
21 scramUsers := map[scram.Algorithm]string{scram.SHA256: "adminscram", scram.SHA512: "adminscram"}
22 // kafka 4.0.0 test environment supports only different users for different scram algorithms.
23 if ktesting.KafkaIsAtLeast("4.0.0") {
24 scramUsers = map[scram.Algorithm]string{scram.SHA256: "adminscram256", scram.SHA512: "adminscram512"}
25 }
26 tests := []struct {
27 valid func() sasl.Mechanism
28 invalid func() sasl.Mechanism
29 minKafka string
30 }{
31 {
32 valid: func() sasl.Mechanism {
33 return plain.Mechanism{
34 Username: "adminplain",
35 Password: "admin-secret",
36 }
37 },
38 invalid: func() sasl.Mechanism {
39 return plain.Mechanism{
40 Username: "adminplain",
41 Password: "badpassword",
42 }
43 },
44 },
45 {
46 valid: func() sasl.Mechanism {
47 mech, _ := scram.Mechanism(scram.SHA256, scramUsers[scram.SHA256], "admin-secret-256")
48 return mech
49 },
50 invalid: func() sasl.Mechanism {
51 mech, _ := scram.Mechanism(scram.SHA256, scramUsers[scram.SHA256], "badpassword")
52 return mech
53 },
54 minKafka: "0.10.2.0",
55 },
56 {
57 valid: func() sasl.Mechanism {
58 mech, _ := scram.Mechanism(scram.SHA512, scramUsers[scram.SHA512], "admin-secret-512")
59 return mech
60 },
61 invalid: func() sasl.Mechanism {
62 mech, _ := scram.Mechanism(scram.SHA512, scramUsers[scram.SHA512], "badpassword")
63 return mech
64 },
65 minKafka: "0.10.2.0",
66 },
67 }
68
69 for _, tt := range tests {
70 mech := tt.valid()
71 if !ktesting.KafkaIsAtLeast(tt.minKafka) {
72 t.Skip("requires min kafka version " + tt.minKafka)
73 }
74
75 t.Run(mech.Name()+" success", func(t *testing.T) {
76 testConnect(t, tt.valid(), true)
77 })

Callers

nothing calls this directly

Calls 3

MechanismFunction · 0.92
testConnectFunction · 0.85
NameMethod · 0.65

Tested by

no test coverage detected