spec/spec_helper.rb in rupnp-0.2.2 vs spec/spec_helper.rb in rupnp-0.3.0

- old
+ new

@@ -8,10 +8,11 @@ require 'em-spec/rspec' require 'webmock/rspec' RUPNP.log_level = :failure +WebMock.disable_net_connect!(allow_localhost: true) class FakeMulticast < RUPNP::SSDP::MulticastConnection attr_reader :handshake_response, :packets def onclose(&blk); @onclose = blk; end @@ -149,10 +150,21 @@ <maximum>#{64*(i+1) - 1}</maximum> </allowedValueRange> </stateVariable> EOSV end + scpd << <<EOSV2 + <stateVariable sendEvents="#{opt[:send_event] ? 'yes' : 'no'}"> + <name>X_variableStr</name> + <dataType>string</dataType> + <defaultValue>none</defaultValue> + <allowedValueList> + <allowedValue>none</allowedValue> + <allowedValue>another value</allowedValue> + </allowedValueList> + </stateVariable> +EOSV2 scpd << " </serviceStateTable>\n</scpd>\n" end def action_response(hash) @@ -170,9 +182,37 @@ r << <<EOD </u:testActionResponse> </s:Body> </s:Envelope> EOD +end + + +def event_body + <<EOD +<?xml version="1.0"?> +<e:propertyset xmlns:e="urn:schemas-upnp-org:event-1-0"> + <e:property> + <X_variableName1>12</variableName> + </e:property> +</e:propertyset> +EOD +end + + +def send_notify_request(req, options={}) + delete = options.delete(:delete) + headers = { + 'HOST' => "127.0.0.1:1234", + 'USER-AGENT' => RUPNP::USER_AGENT, + 'CONTENT-TYPE' => 'text/xml; charset="utf-8"', + 'NT' => 'upnp:event', + 'NTS' => 'upnp:propchange', + 'SID' => "uuid:#{UUID.generate}", + 'SEQ' => 0 }.merge(options) + headers.delete delete if delete + + req.setup_request(:notify, :head => headers, :body => event_body) end NOTIFY_REGEX = { :common => [