Class: XNM::Telegram::TestCore
- Defined in:
- lib/xnm/telegram/TestHTTPCore.rb
Overview
This is a purely test-related class. It implements all of HTTPCore’s functionality, but does not connect to the Telegram API. Instead, it simply saves the last POST request, and simulates received requests, allowing testing.
Instance Attribute Summary collapse
-
#currentMessageID ⇒ Object
readonly
Returns the value of attribute currentMessageID.
-
#lastPostData ⇒ Object
Returns the value of attribute lastPostData.
-
#lastPostRequest ⇒ Object
Returns the value of attribute lastPostRequest.
-
#toReturn ⇒ Object
Returns the value of attribute toReturn.
Instance Method Summary collapse
-
#initialize ⇒ TestCore
constructor
A new instance of TestCore.
- #perform_post(postRequest, postData) ⇒ Object
- #prepare ⇒ Object
- #simulate_send_packet(packet) ⇒ Object
- #simulate_sent_message(text, chatID: "test", reply_id: nil) ⇒ Object
Methods inherited from HTTPCore
#attach_receptor, #feed_receptors, #receive_loop
Constructor Details
#initialize ⇒ TestCore
Returns a new instance of TestCore.
15 16 17 18 19 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 15 def initialize() prepare(); @receptors = Array.new(); end |
Instance Attribute Details
#currentMessageID ⇒ Object (readonly)
Returns the value of attribute currentMessageID.
12 13 14 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 12 def currentMessageID @currentMessageID end |
#lastPostData ⇒ Object
Returns the value of attribute lastPostData.
11 12 13 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 11 def lastPostData @lastPostData end |
#lastPostRequest ⇒ Object
Returns the value of attribute lastPostRequest.
11 12 13 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 11 def lastPostRequest @lastPostRequest end |
#toReturn ⇒ Object
Returns the value of attribute toReturn.
13 14 15 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 13 def toReturn @toReturn end |
Instance Method Details
#perform_post(postRequest, postData) ⇒ Object
35 36 37 38 39 40 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 35 def perform_post(postRequest, postData) @lastPostRequest << postRequest; @lastPostData << postData; return @toReturn; end |
#prepare ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 21 def prepare() @lastPostData = Array.new(); @lastPostRequest = Array.new(); @currentMessageID = rand(0..9999); @toReturn = { ok: true, result: { message_id: @currentMessageID } } end |
#simulate_send_packet(packet) ⇒ Object
42 43 44 45 46 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 42 def simulate_send_packet(packet) @receptors.each do |r| r.handle_packet(packet); end end |
#simulate_sent_message(text, chatID: "test", reply_id: nil) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/xnm/telegram/TestHTTPCore.rb', line 48 def (text, chatID: "test", reply_id: nil ) outData = Hash.new(); outData[:chat] = {id: chatID}; outData[:text] = text; if(reply_id) outData[:reply_to_message] = reply_id; end simulate_send_packet({message: outData}); end |