Ejemplo n.º 1
0
Archivo: client.go Proyecto: pdf/golifx
// NewSubscription returns a new *common.Subscription for receiving events from
// this client.
func (c *Client) NewSubscription() (*common.Subscription, error) {
	sub := common.NewSubscription(c)
	c.Lock()
	c.subscriptions[sub.ID()] = sub
	c.Unlock()
	return sub, nil
}
Ejemplo n.º 2
0
Archivo: device.go Proyecto: pdf/golifx
// NewSubscription returns a new *common.Subscription for receiving events from
// this device.
func (d *Device) NewSubscription() (*common.Subscription, error) {
	sub := common.NewSubscription(d)
	d.Lock()
	d.subscriptions[sub.ID()] = sub
	d.Unlock()
	return sub, nil
}
Ejemplo n.º 3
0
// NewSubscription returns a new *common.Subscription for receiving events from
// this group.
func (g *Group) NewSubscription() (*common.Subscription, error) {
	sub := common.NewSubscription(g)
	g.Lock()
	g.subscriptions[sub.ID()] = sub
	g.Unlock()
	return sub, nil
}
Ejemplo n.º 4
0
Archivo: v2.go Proyecto: chendo/golifx
// NewSubscription returns a new *common.Subscription for receiving events from
// this protocol.
func (p *V2) NewSubscription() (*common.Subscription, error) {
	if err := p.init(); err != nil {
		return nil, err
	}
	sub := common.NewSubscription(p)
	p.Lock()
	p.subscriptions[sub.ID()] = sub
	p.Unlock()
	return sub, nil
}
Ejemplo n.º 5
0
		locationID           = `mockLocationID`
		locationUnknownID    = `unknownLocationID`
		locationLabel        = `mockLocation`
		locationUnknownLabel = `unknownLocation`
		groupID              = `mockGroupID`
		groupUnknownID       = `unknownGroupID`
		groupLabel           = `mockGroup`
		groupUnknownLabel    = `unknownGroup`
	)

	It("should send discovery to the protocol on NewClient", func() {
		var err error
		mockProtocol = new(mocks.Protocol)
		mockProtocol.On(`SetClient`, mock.Anything).Return()
		mockProtocol.SubscriptionTarget.On(`NewSubscription`).Return(common.NewSubscription(mockProtocol), nil)
		mockProtocol.On(`Discover`).Return(nil).Once()

		client, err = NewClient(mockProtocol)
		Expect(client).To(BeAssignableToTypeOf(new(Client)))
		Expect(err).NotTo(HaveOccurred())
	})

	Describe("Client", func() {
		BeforeEach(func() {
			mockProtocol = new(mocks.Protocol)
			mockProtocol.On(`SetClient`, mock.Anything).Return()
			mockProtocol.SubscriptionTarget.On(`NewSubscription`).Return(common.NewSubscription(mockProtocol), nil)
			mockProtocol.On(`Discover`).Return(nil).Once()
			client, _ = NewClient(mockProtocol)
			client.SetTimeout(timeout)
Ejemplo n.º 6
0
		locationUnknownID    = `unknownLocationID`
		locationLabel        = `mockLocation`
		locationUnknownLabel = `unknownLocation`
		groupID              = `mockGroupID`
		groupUnknownID       = `unknownGroupID`
		groupLabel           = `mockGroup`
		groupUnknownLabel    = `unknownGroup`
	)

	It("should send discovery to the protocol on NewClient", func() {
		var err error
		mockProtocol = new(mocks.Protocol)
		mockProtocol.On(`SetTimeout`, mock.AnythingOfType("*time.Duration")).Return().Once()
		mockProtocol.On(`SetRetryInterval`, mock.AnythingOfType("*time.Duration")).Return().Once()
		mockProtocol.On(`SetClient`, mock.Anything).Return().Once()
		mockProtocol.SubscriptionTarget.On(`NewSubscription`).Return(common.NewSubscription(mockProtocol), nil).Once()
		mockProtocol.On(`Discover`).Return(nil).Once()

		client, err = NewClient(mockProtocol)
		Expect(client).To(BeAssignableToTypeOf(new(Client)))
		Expect(err).NotTo(HaveOccurred())
	})

	Describe("Client", func() {
		BeforeEach(func() {
			mockProtocol = new(mocks.Protocol)
			protocolSubscription = common.NewSubscription(mockProtocol)
			mockProtocol.SubscriptionTarget.On(`NewSubscription`).Return(protocolSubscription, nil).Once()
			mockProtocol.On(`SetClient`, mock.Anything).Return().Once()
			mockProtocol.On(`Discover`).Return(nil).Once()
			mockProtocol.On(`SetTimeout`, mock.AnythingOfType("*time.Duration")).Return().Once()