summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--packaging/cert-checker-client.manifest.in5
-rw-r--r--packaging/cert-checker.spec22
-rw-r--r--pkgconfig/cert-checker.pc.in2
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/client/CMakeLists.txt60
-rw-r--r--src/client/error.h33
-rw-r--r--src/client/ocsp-client.cpp54
-rw-r--r--src/client/ocsp-client.h49
-rw-r--r--src/common/CMakeLists.txt1
-rw-r--r--src/common/command-id.h31
-rw-r--r--src/common/dispatcher.cpp53
-rw-r--r--src/common/dispatcher.h70
-rw-r--r--src/common/serialization.h15
-rw-r--r--src/common/socket.cpp2
-rw-r--r--src/service/logic.h5
-rw-r--r--src/service/ocsp-service.cpp14
-rw-r--r--tests/CMakeLists.txt6
-rw-r--r--tests/test_logic.cpp10
19 files changed, 424 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fd24809..2145fd2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -76,6 +76,7 @@ ADD_DEFINITIONS("-DDB_INSTALL_DIR=\"${DB_INSTALL_DIR}\"")
# Define global macro about TARGET
SET(TARGET_CERT_CHECKER "${SERVICE_NAME}")
SET(TARGET_CERT_CHECKER_COMMON "${SERVICE_NAME}-common")
+SET(TARGET_CERT_CHECKER_CLIENT "${SERVICE_NAME}-client")
SET(TARGET_CERT_CHECKER_POPUP "${SERVICE_NAME}-popup")
# Tests
@@ -101,6 +102,9 @@ CONFIGURE_FILE(
CONFIGURE_FILE(
packaging/${SERVICE_NAME}-common.manifest.in
${SERVICE_NAME}-common.manifest @ONLY)
+CONFIGURE_FILE(
+ packaging/${SERVICE_NAME}-client.manifest.in
+ ${SERVICE_NAME}-client.manifest @ONLY)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(db)
diff --git a/packaging/cert-checker-client.manifest.in b/packaging/cert-checker-client.manifest.in
new file mode 100644
index 0000000..75b0fa5
--- /dev/null
+++ b/packaging/cert-checker-client.manifest.in
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/cert-checker.spec b/packaging/cert-checker.spec
index 649a4a1..27a1c1d 100644
--- a/packaging/cert-checker.spec
+++ b/packaging/cert-checker.spec
@@ -52,6 +52,17 @@ Requires: %{SBIN_DIR}/ldconfig
%description -n lib%{name}-common
cert-checker common library package.
+# client lib package
+%package -n lib%{name}-client
+Summary: Client Library package for %{name}
+License: Apache-2.0
+Group: Security/Libraries
+Requires: %{SBIN_DIR}/ldconfig
+Requires: lib%{name}-common = %{version}-%{release}
+
+%description -n lib%{name}-client
+cert-checker client library package.
+
# devel package
%package devel
Summary: Development files for %{name}
@@ -70,6 +81,8 @@ License: Apache-2.0 and BSL-1.0
Group: Security/Testing
Requires: boost-test
Requires: %{name} = %{version}-%{release}
+Requires: lib%{name}-common = %{version}-%{release}
+Requires: lib%{name}-client = %{version}-%{release}
%description -n %{name}-tests
Internal test for cert-checker implementation.
@@ -153,10 +166,19 @@ fi
%license LICENSE
%{_libdir}/lib%{name}-common.so.*
+%files -n lib%{name}-client
+%defattr(-,root,root,-)
+%manifest %{name}-client.manifest
+%license LICENSE
+%{_libdir}/lib%{name}-client.so.*
+
%files devel
%defattr(-,root,root,-)
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/lib%{name}-common.so
+%{_libdir}/lib%{name}-client.so
+%{_includedir}/cchecker/ocsp-client.h
+%{_includedir}/cchecker/error.h
%files -n %{name}-tests
%defattr(-,%{service_user},%{service_group},-)
diff --git a/pkgconfig/cert-checker.pc.in b/pkgconfig/cert-checker.pc.in
index f9dd91d..66a1d01 100644
--- a/pkgconfig/cert-checker.pc.in
+++ b/pkgconfig/cert-checker.pc.in
@@ -7,5 +7,5 @@ Name: @SERVICE_NAME@
Description: @PACKAGE_DESCRIPTION@
Version: @VERSION@
Requires:
-Libs: -L${libdir} -l@SERVICE_NAME@-common
+Libs: -L${libdir} -l@SERVICE_NAME@-common -l@SERVICE_NAME@-client
Cflags: -I${includedir}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 36e35c4..420b5ff 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -87,5 +87,6 @@ INSTALL(TARGETS ${TARGET_CERT_CHECKER} DESTINATION ${BIN_DIR})
ADD_SUBDIRECTORY(main)
ADD_SUBDIRECTORY(service)
ADD_SUBDIRECTORY(common)
+ADD_SUBDIRECTORY(client)
ADD_SUBDIRECTORY(po)
ADD_SUBDIRECTORY(ui)
diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt
new file mode 100644
index 0000000..cd3d78d
--- /dev/null
+++ b/src/client/CMakeLists.txt
@@ -0,0 +1,60 @@
+# Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# @file CMakeLists.txt
+# @author Sangwan Kwon (sangwan.kwon@samsung.com)
+# @brief Make client library for ocsp-service.
+#
+PKG_CHECK_MODULES(${TARGET_CERT_CHECKER_CLIENT}_DEP
+ REQUIRED
+ libsystemd-journal
+)
+
+SET(${TARGET_CERT_CHECKER_CLIENT}_SRCS
+ ${CERT_CHECKER_SRC_PATH}/client/ocsp-client.cpp
+)
+
+INCLUDE_DIRECTORIES(SYSTEM
+ ${${TARGET_CERT_CHECKER_CLIENT}_DEP_INCLUDE_DIRS}
+ ${CERT_CHECKER_SRC_PATH}/
+ ${CERT_CHECKER_SRC_PATH}/include/
+ ${DPL_CORE_PATH}/include/
+ ${DPL_DB_PATH}/include/
+)
+
+ADD_LIBRARY(${TARGET_CERT_CHECKER_CLIENT}
+ SHARED ${${TARGET_CERT_CHECKER_CLIENT}_SRCS}
+)
+
+SET_TARGET_PROPERTIES(${TARGET_CERT_CHECKER_CLIENT}
+ PROPERTIES
+ COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=default"
+ LINKER_LANGUAGE CXX
+ SOVERSION ${API_VERSION}
+ VERSION ${VERSION}
+)
+
+TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_CLIENT}
+ ${${TARGET_CERT_CHECKER_CLIENT}_DEP_LIBRARIES}
+ ${TARGET_CERT_CHECKER_COMMON}
+)
+
+INSTALL(TARGETS ${TARGET_CERT_CHECKER_CLIENT} DESTINATION ${LIB_INSTALL_DIR})
+INSTALL(
+ FILES
+ ocsp-client.h
+ error.h
+ DESTINATION
+ ${INCLUDE_INSTALL_DIR}/cchecker
+)
diff --git a/src/client/error.h b/src/client/error.h
new file mode 100644
index 0000000..7504350
--- /dev/null
+++ b/src/client/error.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/*
+ * @file error.h
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
+ * @version 1.0
+ * @brief Error codes of ocsp service.
+ */
+#pragma once
+
+namespace CCHECKER {
+namespace Client {
+
+using CCerr = int;
+
+const CCerr E_CC_NONE = 0;
+const CCerr E_CC_INTERNAL = -1;
+
+} // namespace Client
+} // namespace CCHECKER
diff --git a/src/client/ocsp-client.cpp b/src/client/ocsp-client.cpp
new file mode 100644
index 0000000..77484fc
--- /dev/null
+++ b/src/client/ocsp-client.cpp
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+/*
+ * @file ocsp-client.cpp
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
+ * @version 1.0
+ * @brief Client request OcspService with dispatcher in it
+ */
+#include "client/ocsp-client.h"
+#include "client/error.h"
+#include "common/command-id.h"
+
+#include <cchecker/log.h>
+
+namespace CCHECKER {
+namespace Client {
+
+OcspClient::OcspClient() :
+ m_address(SERVICE_STREAM)
+{
+ m_dispatcher.reset(new Dispatcher(m_address));
+}
+
+OcspClient::~OcspClient()
+{
+}
+
+CCerr OcspClient::request()
+{
+ LogDebug("Request to oscp service.");
+ auto ret = m_dispatcher->methodCall<CommandId>(CommandId::CC_OCSP_SYN);
+
+ LogDebug("Response ret : " << static_cast<int>(ret));
+ if(ret == CommandId::CC_OCSP_ACK)
+ return E_CC_NONE;
+ else
+ return E_CC_INTERNAL;
+}
+
+} // namespace Client
+} // namespace CCHECKER
diff --git a/src/client/ocsp-client.h b/src/client/ocsp-client.h
new file mode 100644
index 0000000..e1f29bb
--- /dev/null
+++ b/src/client/ocsp-client.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+/*
+ * @file ocsp-client.h
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
+ * @version 1.0
+ * @brief Client request to ocsp service
+ */
+#pragma once
+
+#include <string>
+#include <memory>
+
+#include "common/dispatcher.h"
+#include "client/error.h"
+
+namespace CCHECKER {
+namespace Client {
+
+class OcspClient {
+public:
+ OcspClient();
+ virtual ~OcspClient();
+
+ OcspClient(const OcspClient &) = delete;
+ OcspClient &operator=(const OcspClient &) = delete;
+
+ CCerr request();
+
+private:
+ std::string m_address;
+ std::unique_ptr<Dispatcher> m_dispatcher;
+};
+
+} // namespace Client
+} // namespace CCHECKER
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index fbfd9ff..dcd149d 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -27,6 +27,7 @@ SET(COMMON_PATH ${CERT_CHECKER_SRC_PATH}/common)
SET(${TARGET_CERT_CHECKER_COMMON}_SRCS
${COMMON_PATH}/binary-queue.cpp
${COMMON_PATH}/connection.cpp
+ ${COMMON_PATH}/dispatcher.cpp
${COMMON_PATH}/mainloop.cpp
${COMMON_PATH}/service.cpp
${COMMON_PATH}/socket.cpp
diff --git a/src/common/command-id.h b/src/common/command-id.h
new file mode 100644
index 0000000..e154e1a
--- /dev/null
+++ b/src/common/command-id.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+/*
+ * @file command-id.h
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
+ * @version 1.0
+ * @brief
+ */
+#pragma once
+
+namespace CCHECKER {
+
+enum class CommandId : int {
+ CC_OCSP_SYN = 0x01,
+ CC_OCSP_ACK = 0x02
+};
+
+} // namespace CCHECKER
diff --git a/src/common/dispatcher.cpp b/src/common/dispatcher.cpp
new file mode 100644
index 0000000..9b46493
--- /dev/null
+++ b/src/common/dispatcher.cpp
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+/*
+ * @file dispatcher.cpp
+ * @author Jaemin Ryu (jm77.ryu@samsung.com)
+ * @version 1.0
+ * @brief
+ */
+#include "common/dispatcher.h"
+
+#include <utility>
+
+#include "common/socket.h"
+
+namespace CCHECKER {
+
+Dispatcher::Dispatcher(const std::string &path) : m_address(path)
+{
+}
+
+Dispatcher::~Dispatcher()
+{
+ disconnect();
+}
+
+void Dispatcher::connect()
+{
+ m_connection = std::make_shared<Connection>(Socket::connect(m_address));
+}
+
+void Dispatcher::disconnect()
+{
+}
+
+bool Dispatcher::isConnected()
+{
+ return m_connection ? true : false;
+}
+
+} // namespace CCHECKER
diff --git a/src/common/dispatcher.h b/src/common/dispatcher.h
new file mode 100644
index 0000000..def73ed
--- /dev/null
+++ b/src/common/dispatcher.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License
+ */
+/*
+ * @file dispatcher.h
+ * @author Jaemin Ryu (jm77.ryu@samsung.com)
+ * @version 1.0
+ * @brief
+ */
+#pragma once
+
+#include <string>
+
+#include "common/connection.h"
+#include "common/binary-queue.h"
+
+namespace CCHECKER {
+
+class Dispatcher {
+public:
+ Dispatcher(const std::string &path);
+ virtual ~Dispatcher();
+
+ Dispatcher(const Dispatcher &) = delete;
+ Dispatcher &operator=(const Dispatcher &) = delete;
+ Dispatcher(Dispatcher &&) = delete;
+ Dispatcher &operator=(Dispatcher &&) = delete;
+
+ template<typename Type, typename ...Args>
+ Type methodCall(Args &&...args);
+
+private:
+ bool isConnected(void);
+ void connect(void);
+ void disconnect(void);
+
+ std::string m_address;
+ ConnShPtr m_connection;
+};
+
+template<typename Type, typename ...Args>
+Type Dispatcher::methodCall(Args &&...args)
+{
+ if (!isConnected())
+ connect();
+
+ m_connection->send(BinaryQueue::Serialize(std::forward<Args>(args)...).pop());
+
+ BinaryQueue q;
+ q.push(m_connection->receive());
+
+ Type response;
+ q.Deserialize(response);
+
+ return response;
+}
+
+} // namespace CCHECKER
diff --git a/src/common/serialization.h b/src/common/serialization.h
index 7f0ee84..04bd89d 100644
--- a/src/common/serialization.h
+++ b/src/common/serialization.h
@@ -32,6 +32,8 @@
#include <set>
#include <memory>
+#include "common/command-id.h"
+
namespace CCHECKER {
namespace Common {
@@ -147,6 +149,11 @@ struct Serialization {
stream.write(sizeof(*value), value);
}
+ static void Serialize(IStream &stream, const CommandId value)
+ {
+ Serialize(stream, static_cast<int>(value));
+ }
+
// std::string
template <typename T, typename R, typename A>
static void Serialize(IStream &stream, const std::basic_string<T, R, A> &str)
@@ -399,6 +406,14 @@ struct Deserialization {
{
stream.read(sizeof(value), &value);
}
+
+ static void Deserialize(IStream &stream, CommandId &value)
+ {
+ int val;
+ Deserialize(stream, val);
+ value = static_cast<CommandId>(val);
+ }
+
static void Deserialize(IStream &stream, bool *&value)
{
value = new bool;
diff --git a/src/common/socket.cpp b/src/common/socket.cpp
index a829484..30c2edc 100644
--- a/src/common/socket.cpp
+++ b/src/common/socket.cpp
@@ -135,7 +135,7 @@ Socket Socket::connect(const std::string &path)
std::error_code(errno, std::generic_category()),
"socket connect failed!");
- LogInfo("Connect to CSR server success with fd:" << fd);
+ LogInfo("Connect to OCSP service success with fd:" << fd);
return Socket(fd);
}
diff --git a/src/service/logic.h b/src/service/logic.h
index dca58b7..7d48124 100644
--- a/src/service/logic.h
+++ b/src/service/logic.h
@@ -61,11 +61,6 @@ enum pkgmgr_event_t {
EVENT_UNINSTALL
};
-enum class CommandId : int {
- CC_OCSP_SYN = 0x01,
- CC_OCSP_ACK = 0x02
-};
-
class Logic {
public:
Logic(void);
diff --git a/src/service/ocsp-service.cpp b/src/service/ocsp-service.cpp
index 7bb0ea1..8743de2 100644
--- a/src/service/ocsp-service.cpp
+++ b/src/service/ocsp-service.cpp
@@ -20,6 +20,7 @@
* @brief
*/
#include "service/ocsp-service.h"
+#include "common/command-id.h"
#include <cchecker/log.h>
@@ -40,10 +41,11 @@ void OcspService::onMessageProcess(const ConnShPtr &connection)
auto in = connection->receive();
connection->send(this->process(connection, in));
+
if (m_logic.setup() != NO_ERROR)
throw std::logic_error("Cannot setup logic.");
- LogDebug("Start to process message on ocsp service.");
+ LogDebug("Finish processing message on ocsp service.");
}
RawBuffer OcspService::process(const ConnShPtr &, RawBuffer &data)
@@ -51,14 +53,14 @@ RawBuffer OcspService::process(const ConnShPtr &, RawBuffer &data)
BinaryQueue q;
q.push(data);
- int cmd;
- q.Deserialize(cmd);
+ CommandId cid;
+ q.Deserialize(cid);
LogInfo("Request dispatch on ocsp-service.");
- switch (static_cast<CommandId>(cmd)) {
+ switch (cid) {
case CommandId::CC_OCSP_SYN: {
- // TODO(sangwan.kwon) : set protocol with client
- return BinaryQueue::Serialize(1).pop();
+ LogDebug("Success to get SYN cmd. reply ACK cmd.");
+ return BinaryQueue::Serialize(CommandId::CC_OCSP_ACK).pop();
}
case CommandId::CC_OCSP_ACK:
default:
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index cf924e1..ff25260 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -95,6 +95,11 @@ ADD_EXECUTABLE(${TARGET_CERT_CHECKER_TESTS} ${CERT_CHECKER_TESTS_SOURCES})
ADD_EXECUTABLE(${TARGET_CERT_CHECKER_TESTS_LOGIC} ${CERT_CHECKER_TESTS_LOGIC_SOURCES})
ADD_EXECUTABLE(${TARGET_CERT_CHECKER_POPUP_TEST} ${CERT_CHECKER_POPUP_TEST_SOURCES})
+SET_TARGET_PROPERTIES(${TARGET_CERT_CHECKER_TESTS_LOGIC}
+ PROPERTIES
+ COMPILE_FLAGS "-D_GNU_SOURCE -fvisibility=default"
+)
+
TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_TESTS}
${TARGET_CERT_CHECKER_COMMON}
${CERT_CHECKER_TESTS_DEP_LIBRARIES}
@@ -105,6 +110,7 @@ TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_TESTS}
TARGET_LINK_LIBRARIES(${TARGET_CERT_CHECKER_TESTS_LOGIC}
${TARGET_CERT_CHECKER_COMMON}
+ ${TARGET_CERT_CHECKER_CLIENT}
${CERT_CHECKER_TESTS_DEP_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
boost_unit_test_framework
diff --git a/tests/test_logic.cpp b/tests/test_logic.cpp
index e471e99..5ddbd8c 100644
--- a/tests/test_logic.cpp
+++ b/tests/test_logic.cpp
@@ -30,6 +30,8 @@
#include <logic_.h>
#include <app_event_operators.h>
+#include "client/ocsp-client.h"
+
using namespace CCHECKER;
namespace {
@@ -53,6 +55,14 @@ std::string log_apps(std::list<app_t> &apps, std::list<app_t> buff)
BOOST_FIXTURE_TEST_SUITE(LOGIC_TEST, LogicWrapper)
+// TODO(sangwan.kwon) : seperate anothor test program
+BOOST_AUTO_TEST_CASE(client) {
+
+ CCHECKER::Client::OcspClient oc;
+ oc.request();
+
+}
+
BOOST_AUTO_TEST_CASE(logic_setup) {
BOOST_REQUIRE(setup() == NO_ERROR);