blob: 66295572aa5c4eb15932e5fff8a56e1073af85b4 [file] [log] [blame]
Julian Hall38c729b2020-11-23 18:23:03 +01001/*
julhal01c3f4e9a2020-12-15 13:39:01 +00002 * Copyright (c) 2020-2021, Arm Limited and Contributors. All rights reserved.
Julian Hall38c729b2020-11-23 18:23:03 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <app/ts-demo/ts-demo.h>
julhal01c3f4e9a2020-12-15 13:39:01 +00008#include <protocols/rpc/common/packed-c/encoding.h>
Julian Hall38c729b2020-11-23 18:23:03 +01009#include <CppUTest/TestHarness.h>
julhal01c3f4e9a2020-12-15 13:39:01 +000010#include <service_locator.h>
11#include <service/crypto/client/cpp/crypto_client.h>
12
Julian Hall38c729b2020-11-23 18:23:03 +010013
14TEST_GROUP(TsDemoTests) {
15
16 void setup()
17 {
julhal01c3f4e9a2020-12-15 13:39:01 +000018 struct rpc_caller *caller;
19 int status;
20
21 m_rpc_session_handle = NULL;
22 m_crypto_service_context = NULL;
23 m_crypto_client = NULL;
24
25 service_locator_init();
26
27 m_crypto_service_context = service_locator_query("sn:trustedfirmware.org:crypto:0", &status);
28 CHECK(m_crypto_service_context);
29
30 m_rpc_session_handle = service_context_open(m_crypto_service_context, TS_RPC_ENCODING_PROTOBUF, &caller);
31 CHECK(m_rpc_session_handle);
32
33 m_crypto_client = new crypto_client(caller);
Julian Hall38c729b2020-11-23 18:23:03 +010034 }
35
36 void teardown()
37 {
Julian Hall38c729b2020-11-23 18:23:03 +010038 delete m_crypto_client;
39 m_crypto_client = NULL;
julhal01c3f4e9a2020-12-15 13:39:01 +000040
41 service_context_close(m_crypto_service_context, m_rpc_session_handle);
42 m_rpc_session_handle = NULL;
43
44 service_context_relinquish(m_crypto_service_context);
45 m_crypto_service_context = NULL;
Julian Hall38c729b2020-11-23 18:23:03 +010046 }
47
julhal01c3f4e9a2020-12-15 13:39:01 +000048 rpc_session_handle m_rpc_session_handle;
49 struct service_context *m_crypto_service_context;
50 crypto_client *m_crypto_client;
Julian Hall38c729b2020-11-23 18:23:03 +010051};
52
53TEST(TsDemoTests, runTsDemo)
54{
55 int status = run_ts_demo(m_crypto_client, false);
56 CHECK_EQUAL(0, status);
57}