mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-05-17 21:10:43 +00:00
121 lines
No EOL
4.1 KiB
C++
121 lines
No EOL
4.1 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#include <google/protobuf/stubs/status.h>
|
|
#include "gtest/gtest.h"
|
|
#include "http/core/context.h"
|
|
#include "http/util.h"
|
|
|
|
namespace onnxruntime {
|
|
namespace server {
|
|
namespace test {
|
|
|
|
namespace protobufutil = google::protobuf::util;
|
|
|
|
TEST(RequestContentTypeTests, ContentTypeJson) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::content_type, "application/json");
|
|
context.request = request;
|
|
|
|
auto result = GetRequestContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::Json);
|
|
}
|
|
|
|
TEST(RequestContentTypeTests, ContentTypeRawData) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::content_type, "application/octet-stream");
|
|
context.request = request;
|
|
|
|
auto result = GetRequestContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
|
|
context.request.set(http::field::content_type, "application/vnd.google.protobuf");
|
|
result = GetRequestContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
|
|
context.request.set(http::field::content_type, "application/x-protobuf");
|
|
result = GetRequestContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
}
|
|
|
|
TEST(RequestContentTypeTests, ContentTypeUnknown) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::content_type, "text/plain");
|
|
context.request = request;
|
|
|
|
auto result = GetRequestContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::Unknown);
|
|
}
|
|
|
|
TEST(RequestContentTypeTests, ContentTypeMissing) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
context.request = request;
|
|
|
|
auto result = GetRequestContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::Unknown);
|
|
}
|
|
|
|
TEST(ResponseContentTypeTests, ContentTypeJson) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::accept, "application/json");
|
|
context.request = request;
|
|
|
|
auto result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::Json);
|
|
}
|
|
|
|
TEST(ResponseContentTypeTests, ContentTypeRawData) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::accept, "application/octet-stream");
|
|
context.request = request;
|
|
|
|
auto result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
|
|
context.request.set(http::field::accept, "application/vnd.google.protobuf");
|
|
result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
|
|
context.request.set(http::field::accept, "application/x-protobuf");
|
|
result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
}
|
|
|
|
TEST(ResponseContentTypeTests, ContentTypeAny) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::accept, "*/*");
|
|
context.request = request;
|
|
|
|
auto result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
}
|
|
|
|
TEST(ResponseContentTypeTests, ContentTypeUnknown) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
request.set(http::field::accept, "text/plain");
|
|
context.request = request;
|
|
|
|
auto result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::Unknown);
|
|
}
|
|
|
|
TEST(ContentTypeTests, ContentTypeMissing) {
|
|
HttpContext context;
|
|
http::request<http::string_body, http::basic_fields<std::allocator<char>>> request{};
|
|
context.request = request;
|
|
|
|
auto result = GetResponseContentType(context);
|
|
EXPECT_EQ(result, SupportedContentType::PbByteArray);
|
|
}
|
|
|
|
} // namespace test
|
|
} // namespace server
|
|
} // namespace onnxruntime
|