Kerangka kerja agen yang dirancang untuk menguji Aplikasi ZeroMQ
Tipe agen sesuai dengan tipe Soket ZMQ yang mendasari pengujian
Di dalam proyek Anda, deklarasikan agen Anda di dalam config/zmq_agents.rb
seperti ini:
require 'agent_zmq'
AgentZMQ . define_ZMQ_SUB :my_sub_agent do | a |
a . socket_opts << { ZMQ :: SUBSCRIBE => 'com.connamara.BODPosition' }
a . end_point_type = :bind
a . end_point = 'tcp://*:5556'
end
AgentZMQ . define_ZMQ_PUB :my_pub_agent do | a |
a . end_point_type = :connect
a . end_points = [ 'tcp://127.0.0.1:5558' , 'tcp://127.0.0.1:5559' ]
end
AgentZMQ . define_ZMQ_REQ :my_req_agent do | a |
a . end_point_type = :connect
a . end_point = 'tcp://127.0.0.1:5552'
end
AgentZMQ . define_ZMQ_REP :my_rep_agent do | a |
a . reply = Proc . new { | msg | "ok" }
a . end_point_type = :bind
a . end_point = 'tcp://*:5552'
end
require 'agent_zmq'
AgentZMQ . start
at_exit { AgentZMQ . stop }
Anda mungkin ingin mengatur ulang status agen di antara pengujian tanpa berhenti dan memulai. Ini dapat dilakukan dengan AgentZMQ.reset
Ambil agen dengan nama yang diberikan dalam file konfigurasi
my_agent = AgentZMQ . agents_hash [ :my_sub_agent ]
Agen ini menyediakan cache pesan
all_messages_received = my_sub_agent . messages_received
# returns and removes the last message received from the cache
last_message_received = my_sub_agent . pop
Saat reset
, cache sub agen dihapus
Metode publish
mengambil satu pesan dari satu atau lebih bagian
my_pub_agent . publish "single part message"
my_pub_agent . publish [ "part 1" , "part 2" ]
Metode publish
mengambil satu pesan dari satu atau lebih bagian. Agen memblokir hingga respons diterima dan dikembalikan sebagai array bagian pesan
response = my_req_agent . publish "single part message"
response = my_pub_agent . publish [ "part 1" , "part 2" ]
Seperti agen ZMQ_SUB, ZMQ_REP menyediakan cache pesan
all_messages_received = my_rep_agent . messages_received
# returns and removes the last message received from the cache
last_message_received = my_rep_agent . pop
Saat menerima permintaan, agen akan membalas dengan output reply
Proc. Nilai kembalian dari proc ini mungkin dalam bentuk pesan multi-bagian.
Ada beberapa dukungan untuk mentimun. Lihat fitur misalnya penggunaan.
Setelah pesan ditangkap, Anda mungkin ingin menguraikan dan memeriksanya. Teknik serialisasi pesan khusus untuk sistem yang diuji. Beberapa metode serialisasi yang umum mencakup JSON dan Protocol Buffer. json_spec dan protobuf_spec adalah dua contoh perpustakaan pengujian yang dapat dengan mudah dipasangkan dengan agent_zmq untuk pengujian lengkap.
Lihat spesifikasi dan fitur untuk melihat semua cara Anda dapat menggunakan agent_zmq.
gem install agent_zmq
atau tambahkan yang berikut ini ke Gemfile:
gem 'agent_zmq'
dan jalankan bundle install
dari shell Anda.
Silakan lihat pedoman kontribusi.
Kontributor:
agent_zmq dikelola dan didanai oleh Connamara Systems, llc.
Nama dan logo Connamara Systems adalah merek dagang dari Connamara Systems, llc.
agent_zmq adalah Hak Cipta © 2016 Connamara Systems, llc.
Perangkat lunak ini tersedia di bawah GPL dan lisensi komersial. Silakan lihat file LISENSI untuk persyaratan yang ditentukan oleh lisensi GPL. Lisensi komersial menawarkan ketentuan lisensi yang lebih fleksibel dibandingkan dengan GPL, dan mencakup layanan dukungan. Hubungi kami untuk informasi lebih lanjut tentang lisensi komersial Connamara, apa yang dimungkinkannya, dan bagaimana Anda dapat mulai mengembangkannya.