1# frozen_string_literal: true
2
3require "test_helper"
4require "backend_sgx"
5
6BackendSgx::IQ_MANAGER = Minitest::Mock.new
7
8class BackendSgxTest < Minitest::Test
9 def setup
10 @sgx = BackendSgx.new
11 end
12
13 def test_registered
14 BackendSgx::IQ_MANAGER.expect(
15 :write,
16 EMPromise.resolve(IBR.new.tap { |ibr| ibr.registered = true }),
17 [Matching.new do |ibr|
18 assert_equal :get, ibr.type
19 assert_equal "customer_test@component", ibr.from.to_s
20 end]
21 )
22 assert @sgx.registered?("test").sync
23 end
24 em :test_registered
25
26 def test_registered_not_registered
27 BackendSgx::IQ_MANAGER.expect(
28 :write,
29 EMPromise.resolve(IBR.new.tap { |ibr| ibr.registered = false }),
30 [Matching.new do |ibr|
31 assert_equal :get, ibr.type
32 assert_equal "customer_test@component", ibr.from.to_s
33 end]
34 )
35 refute @sgx.registered?("test").sync
36 end
37 em :test_registered_not_registered
38
39 def test_register!
40 BackendSgx::IQ_MANAGER.expect(
41 :write,
42 EMPromise.resolve(OpenStruct.new(error?: false)),
43 [Matching.new do |ibr|
44 assert_equal "customer_test@component", ibr.from.to_s
45 assert_equal "test_bw_account", ibr.nick
46 assert_equal "test_bw_user", ibr.username
47 assert_equal "test_bw_password", ibr.password
48 assert_equal "+15555550000", ibr.phone
49 end]
50 )
51 @sgx.register!("test", "+15555550000")
52 BackendSgx::IQ_MANAGER.verify
53 end
54end