MCPcopy
hub / github.com/nats-io/nats.go / TestNilConnection

Function TestNilConnection

test/basic_test.go:1061–1149  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1059}
1060
1061func TestNilConnection(t *testing.T) {
1062 var nc *nats.Conn
1063 data := []byte("ok")
1064
1065 // Publish
1066 if err := nc.Publish("foo", data); err == nil || err != nats.ErrInvalidConnection {
1067 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1068 }
1069 if err := nc.PublishMsg(nil); err == nil || err != nats.ErrInvalidMsg {
1070 t.Fatalf("Expected ErrInvalidMsg error, got %v\n", err)
1071 }
1072 if err := nc.PublishMsg(&nats.Msg{}); err == nil || err != nats.ErrInvalidConnection {
1073 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1074 }
1075 if err := nc.PublishRequest("foo", "reply", data); err == nil || err != nats.ErrInvalidConnection {
1076 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1077 }
1078
1079 // Subscribe
1080 if _, err := nc.Subscribe("foo", nil); err == nil || err != nats.ErrInvalidConnection {
1081 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1082 }
1083 if _, err := nc.SubscribeSync("foo"); err == nil || err != nats.ErrInvalidConnection {
1084 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1085 }
1086 if _, err := nc.QueueSubscribe("foo", "bar", nil); err == nil || err != nats.ErrInvalidConnection {
1087 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1088 }
1089 ch := make(chan *nats.Msg)
1090 if _, err := nc.ChanSubscribe("foo", ch); err == nil || err != nats.ErrInvalidConnection {
1091 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1092 }
1093 if _, err := nc.ChanQueueSubscribe("foo", "bar", ch); err == nil || err != nats.ErrInvalidConnection {
1094 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1095 }
1096 if _, err := nc.QueueSubscribeSyncWithChan("foo", "bar", ch); err == nil || err != nats.ErrInvalidConnection {
1097 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1098 }
1099
1100 // Flush
1101 if err := nc.Flush(); err == nil || err != nats.ErrInvalidConnection {
1102 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1103 }
1104 if err := nc.FlushTimeout(time.Millisecond); err == nil || err != nats.ErrInvalidConnection {
1105 t.Fatalf("Expected ErrInvalidConnection error, got %v\n", err)
1106 }
1107
1108 // Nil Subscribers
1109 var sub *nats.Subscription
1110 if sub.Type() != nats.NilSubscription {
1111 t.Fatalf("Got wrong type for nil subscription, %v\n", sub.Type())
1112 }
1113 if sub.IsValid() {
1114 t.Fatalf("Expected IsValid() to return false")
1115 }
1116 if err := sub.Unsubscribe(); err == nil || err != nats.ErrBadSubscription {
1117 t.Fatalf("Expected Unsubscribe to return proper error, got %v\n", err)
1118 }

Callers

nothing calls this directly

Calls 15

PublishMethod · 0.95
PublishMsgMethod · 0.95
PublishRequestMethod · 0.95
SubscribeMethod · 0.95
SubscribeSyncMethod · 0.95
QueueSubscribeMethod · 0.95
ChanSubscribeMethod · 0.95
ChanQueueSubscribeMethod · 0.95
FlushMethod · 0.95
FlushTimeoutMethod · 0.95
TypeMethod · 0.95

Tested by

no test coverage detected