test_backend_sgx.rb

 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