[testtools] Add utility method to generate fake mqtt message
This commit is contained in:
		@@ -4,6 +4,7 @@ import (
 | 
				
			|||||||
	"context"
 | 
						"context"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"github.com/cyrilix/robocar-base/mqttdevice"
 | 
						"github.com/cyrilix/robocar-base/mqttdevice"
 | 
				
			||||||
 | 
						mqtt "github.com/eclipse/paho.mqtt.golang"
 | 
				
			||||||
	"github.com/testcontainers/testcontainers-go"
 | 
						"github.com/testcontainers/testcontainers-go"
 | 
				
			||||||
	"github.com/testcontainers/testcontainers-go/wait"
 | 
						"github.com/testcontainers/testcontainers-go/wait"
 | 
				
			||||||
	"sync"
 | 
						"sync"
 | 
				
			||||||
@@ -58,3 +59,48 @@ func (f* FakePublisher) PublishedEvent(topic string) mqttdevice.MqttValue{
 | 
				
			|||||||
	defer f.muMsg.Unlock()
 | 
						defer f.muMsg.Unlock()
 | 
				
			||||||
	return f.msg[topic]
 | 
						return f.msg[topic]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type fakeMessage struct {
 | 
				
			||||||
 | 
						qos     byte
 | 
				
			||||||
 | 
						topic   string
 | 
				
			||||||
 | 
						payload []byte
 | 
				
			||||||
 | 
						acked   bool
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) Duplicate() bool {
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) Qos() byte {
 | 
				
			||||||
 | 
						return f.qos
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) Retained() bool {
 | 
				
			||||||
 | 
						return false
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) Topic() string {
 | 
				
			||||||
 | 
						return f.topic
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) MessageID() uint16 {
 | 
				
			||||||
 | 
						return 1234
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) Payload() []byte {
 | 
				
			||||||
 | 
						return f.payload
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (f *fakeMessage) Ack() {
 | 
				
			||||||
 | 
						f.acked = true
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func NewFakeMessage(topic string, payload []byte) mqtt.Message {
 | 
				
			||||||
 | 
						return &fakeMessage{
 | 
				
			||||||
 | 
							qos:     0,
 | 
				
			||||||
 | 
							topic:   topic,
 | 
				
			||||||
 | 
							payload: payload,
 | 
				
			||||||
 | 
							acked:   false,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user