From 5f1103f2ddbe9440a516abb04d4db1a38cdc02cb Mon Sep 17 00:00:00 2001 From: George Arama Date: Wed, 10 Jan 2024 11:01:20 -0800 Subject: [PATCH 1/5] Options Http Enum add --- sdk/core/azure-core/CHANGELOG.md | 2 ++ sdk/core/azure-core/inc/azure/core/http/http.hpp | 6 ++++++ sdk/core/azure-core/src/http/http.cpp | 1 + sdk/core/azure-core/test/libcurl-stress-test/README.md | 2 +- 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sdk/core/azure-core/CHANGELOG.md b/sdk/core/azure-core/CHANGELOG.md index c5b9b56ff0..31ef24bae2 100644 --- a/sdk/core/azure-core/CHANGELOG.md +++ b/sdk/core/azure-core/CHANGELOG.md @@ -2,6 +2,8 @@ ## 1.11.0-beta.3 (Unreleased) +- Added 'OPTIONS' HTTP method to `Azure::Core::Http::HttpMethod` enum. + ### Features Added ### Breaking Changes diff --git a/sdk/core/azure-core/inc/azure/core/http/http.hpp b/sdk/core/azure-core/inc/azure/core/http/http.hpp index 2f01b05dfb..8d191b62f3 100644 --- a/sdk/core/azure-core/inc/azure/core/http/http.hpp +++ b/sdk/core/azure-core/inc/azure/core/http/http.hpp @@ -159,6 +159,12 @@ namespace Azure { namespace Core { namespace Http { */ AZ_CORE_DLLEXPORT const static HttpMethod Patch; + /** + * @brief The representation of an `OPTIONS` HTTP method based on [RFC 2616] + * (https://datatracker.ietf.org/doc/html/rfc2616). + */ + AZ_CORE_DLLEXPORT const static HttpMethod Options; + private: std::string m_value; }; // extensible enum HttpMethod diff --git a/sdk/core/azure-core/src/http/http.cpp b/sdk/core/azure-core/src/http/http.cpp index 90746f2a8c..8512cfb34c 100644 --- a/sdk/core/azure-core/src/http/http.cpp +++ b/sdk/core/azure-core/src/http/http.cpp @@ -26,6 +26,7 @@ const HttpMethod HttpMethod::Post("POST"); const HttpMethod HttpMethod::Put("PUT"); const HttpMethod HttpMethod::Delete("DELETE"); const HttpMethod HttpMethod::Patch("PATCH"); +const HttpMethod HttpMethod::Options("OPTIONS"); namespace { bool IsInvalidHeaderNameChar(char c) diff --git a/sdk/core/azure-core/test/libcurl-stress-test/README.md b/sdk/core/azure-core/test/libcurl-stress-test/README.md index fe10a6a79b..c1c7ef1107 100644 --- a/sdk/core/azure-core/test/libcurl-stress-test/README.md +++ b/sdk/core/azure-core/test/libcurl-stress-test/README.md @@ -19,7 +19,7 @@ Where namespace will be created if missing , search directory can be any folder ATM the docker image is build by hand and hard-coded in the chart to simplify matters. -To build the image run "docker build -t /azuresdkforcpp/curlstress:v8 --build-arg targetTest=azure-core-libcurl-stress-test --build-arg build=on ." +To build the image run "docker build -t /azuresdkforcpp/curlstress:v8 --build-arg targetTest=azure-core-libcurl-stress-test --build-arg build=on -f .\Dockerfile .\..\..\..\..\..\" To push to mcr : "docker push /azuresdkforcpp/curlstress:v8" Obviously after logging in to the acr "az acr login -n " From 3a1ef3001d0c4f47e9da9e39438c4874013bf731 Mon Sep 17 00:00:00 2001 From: George Arama Date: Wed, 10 Jan 2024 11:43:27 -0800 Subject: [PATCH 2/5] spaces --- sdk/core/azure-core/src/http/http.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/core/azure-core/src/http/http.cpp b/sdk/core/azure-core/src/http/http.cpp index 8512cfb34c..6f2862bdb9 100644 --- a/sdk/core/azure-core/src/http/http.cpp +++ b/sdk/core/azure-core/src/http/http.cpp @@ -26,7 +26,7 @@ const HttpMethod HttpMethod::Post("POST"); const HttpMethod HttpMethod::Put("PUT"); const HttpMethod HttpMethod::Delete("DELETE"); const HttpMethod HttpMethod::Patch("PATCH"); -const HttpMethod HttpMethod::Options("OPTIONS"); +const HttpMethod HttpMethod::Options("OPTIONS"); namespace { bool IsInvalidHeaderNameChar(char c) From 61c32fcb83d8cf825b12bd13e381b0d7a82ba46c Mon Sep 17 00:00:00 2001 From: George Arama Date: Wed, 10 Jan 2024 17:48:38 -0800 Subject: [PATCH 3/5] options UT --- .../azure-core/test/ut/http_method_test.cpp | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/sdk/core/azure-core/test/ut/http_method_test.cpp b/sdk/core/azure-core/test/ut/http_method_test.cpp index 2259e58471..105a18d3e5 100644 --- a/sdk/core/azure-core/test/ut/http_method_test.cpp +++ b/sdk/core/azure-core/test/ut/http_method_test.cpp @@ -34,6 +34,7 @@ TEST(HttpMethod, Get) EXPECT_NE(get, HttpMethod::Delete); EXPECT_NE(get, HttpMethod::Patch); EXPECT_NE(get, HttpMethod("TRACE")); + EXPECT_NE(get, HttpMethod::Options); EXPECT_NE(get, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Head, get); @@ -42,6 +43,7 @@ TEST(HttpMethod, Get) EXPECT_NE(HttpMethod::Delete, get); EXPECT_NE(HttpMethod::Patch, get); EXPECT_NE(HttpMethod("TRACE"), get); + EXPECT_NE(HttpMethod::Options, get); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), get); } @@ -70,6 +72,7 @@ TEST(HttpMethod, Head) EXPECT_NE(head, HttpMethod::Delete); EXPECT_NE(head, HttpMethod::Patch); EXPECT_NE(head, HttpMethod("TRACE")); + EXPECT_NE(head, HttpMethod::Options); EXPECT_NE(head, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, head); @@ -78,6 +81,7 @@ TEST(HttpMethod, Head) EXPECT_NE(HttpMethod::Delete, head); EXPECT_NE(HttpMethod::Patch, head); EXPECT_NE(HttpMethod("TRACE"), head); + EXPECT_NE(HttpMethod::Options, head); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), head); } @@ -106,6 +110,7 @@ TEST(HttpMethod, Post) EXPECT_NE(post, HttpMethod::Delete); EXPECT_NE(post, HttpMethod::Patch); EXPECT_NE(post, HttpMethod("TRACE")); + EXPECT_NE(post, HttpMethod::Options); EXPECT_NE(post, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, post); @@ -114,6 +119,7 @@ TEST(HttpMethod, Post) EXPECT_NE(HttpMethod::Delete, post); EXPECT_NE(HttpMethod::Patch, post); EXPECT_NE(HttpMethod("TRACE"), post); + EXPECT_NE(HttpMethod::Options, post); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), post); } @@ -142,6 +148,7 @@ TEST(HttpMethod, Put) EXPECT_NE(put, HttpMethod::Delete); EXPECT_NE(put, HttpMethod::Patch); EXPECT_NE(put, HttpMethod("TRACE")); + EXPECT_NE(put, HttpMethod::Options); EXPECT_NE(put, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, put); @@ -150,6 +157,7 @@ TEST(HttpMethod, Put) EXPECT_NE(HttpMethod::Delete, put); EXPECT_NE(HttpMethod::Patch, put); EXPECT_NE(HttpMethod("TRACE"), put); + EXPECT_NE(HttpMethod::Options, put); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), put); } @@ -178,6 +186,7 @@ TEST(HttpMethod, Delete) EXPECT_NE(delete_, HttpMethod::Put); EXPECT_NE(delete_, HttpMethod::Patch); EXPECT_NE(delete_, HttpMethod("TRACE")); + EXPECT_NE(delete_, HttpMethod::Options); EXPECT_NE(delete_, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, delete_); @@ -186,6 +195,7 @@ TEST(HttpMethod, Delete) EXPECT_NE(HttpMethod::Put, delete_); EXPECT_NE(HttpMethod::Patch, delete_); EXPECT_NE(HttpMethod("TRACE"), delete_); + EXPECT_NE(HttpMethod::Options, delete_); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), delete_); } @@ -213,6 +223,7 @@ TEST(HttpMethod, Patch) EXPECT_NE(patch, HttpMethod::Post); EXPECT_NE(patch, HttpMethod::Put); EXPECT_NE(patch, HttpMethod::Delete); + EXPECT_NE(patch, HttpMethod::Options); EXPECT_NE(patch, HttpMethod("TRACE")); EXPECT_NE(patch, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); @@ -221,6 +232,7 @@ TEST(HttpMethod, Patch) EXPECT_NE(HttpMethod::Post, patch); EXPECT_NE(HttpMethod::Put, patch); EXPECT_NE(HttpMethod::Delete, patch); + EXPECT_NE(HttpMethod::Options, patch); EXPECT_NE(HttpMethod("TRACE"), patch); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), patch); } @@ -254,9 +266,46 @@ TEST(HttpMethod, Trace) EXPECT_NE(HttpMethod::Put, trace); EXPECT_NE(HttpMethod::Delete, trace); EXPECT_NE(HttpMethod::Patch, trace); + EXPECT_NE(HttpMethod::Options, trace); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), trace); } +TEST(HttpMethod, Options) +{ + HttpMethod const options = HttpMethod("OPTIONS"); + EXPECT_EQ(options.ToString(), "OPTIONS"); + + EXPECT_EQ(options, options); + EXPECT_EQ(options, HttpMethod("OPTIONS")); + EXPECT_EQ(HttpMethod("OPTIONS"), options); + + EXPECT_NE(options, HttpMethod("Options")); + EXPECT_NE(HttpMethod("Options"), options); + + EXPECT_NE(options, HttpMethod(std::string())); + EXPECT_NE(HttpMethod(std::string()), options); + + EXPECT_EQ(options, HttpMethod::Options); + + EXPECT_NE(options, HttpMethod::Get); + EXPECT_NE(options, HttpMethod::Head); + EXPECT_NE(options, HttpMethod::Post); + EXPECT_NE(options, HttpMethod::Put); + EXPECT_NE(options, HttpMethod::Delete); + EXPECT_NE(options, HttpMethod::Patch); + EXPECT_NE(options, HttpMethod("TRACE")); + EXPECT_NE(options, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); + + EXPECT_NE(HttpMethod::Get, options); + EXPECT_NE(HttpMethod::Head, options); + EXPECT_NE(HttpMethod::Post, options); + EXPECT_NE(HttpMethod::Put, options); + EXPECT_NE(HttpMethod::Delete, options); + EXPECT_NE(HttpMethod::Patch, options); + EXPECT_NE(HttpMethod("TRACE"), options); + EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), options); +} + TEST(HttpMethod, HawaiianFish) { HttpMethod const humuhumunukunukuapuaa = HttpMethod("HUMUHUMUNUKUNUKUAPUAA"); From 0da5d2c1f57133c22723208d6feb2c925e7f8103 Mon Sep 17 00:00:00 2001 From: George Arama Date: Wed, 10 Jan 2024 18:57:43 -0800 Subject: [PATCH 4/5] remove Options --- .../azure-core/inc/azure/core/http/http.hpp | 6 --- sdk/core/azure-core/src/http/http.cpp | 1 - .../azure-core/test/ut/http_method_test.cpp | 49 ------------------- 3 files changed, 56 deletions(-) diff --git a/sdk/core/azure-core/inc/azure/core/http/http.hpp b/sdk/core/azure-core/inc/azure/core/http/http.hpp index 8d191b62f3..2f01b05dfb 100644 --- a/sdk/core/azure-core/inc/azure/core/http/http.hpp +++ b/sdk/core/azure-core/inc/azure/core/http/http.hpp @@ -159,12 +159,6 @@ namespace Azure { namespace Core { namespace Http { */ AZ_CORE_DLLEXPORT const static HttpMethod Patch; - /** - * @brief The representation of an `OPTIONS` HTTP method based on [RFC 2616] - * (https://datatracker.ietf.org/doc/html/rfc2616). - */ - AZ_CORE_DLLEXPORT const static HttpMethod Options; - private: std::string m_value; }; // extensible enum HttpMethod diff --git a/sdk/core/azure-core/src/http/http.cpp b/sdk/core/azure-core/src/http/http.cpp index 6f2862bdb9..90746f2a8c 100644 --- a/sdk/core/azure-core/src/http/http.cpp +++ b/sdk/core/azure-core/src/http/http.cpp @@ -26,7 +26,6 @@ const HttpMethod HttpMethod::Post("POST"); const HttpMethod HttpMethod::Put("PUT"); const HttpMethod HttpMethod::Delete("DELETE"); const HttpMethod HttpMethod::Patch("PATCH"); -const HttpMethod HttpMethod::Options("OPTIONS"); namespace { bool IsInvalidHeaderNameChar(char c) diff --git a/sdk/core/azure-core/test/ut/http_method_test.cpp b/sdk/core/azure-core/test/ut/http_method_test.cpp index 105a18d3e5..2259e58471 100644 --- a/sdk/core/azure-core/test/ut/http_method_test.cpp +++ b/sdk/core/azure-core/test/ut/http_method_test.cpp @@ -34,7 +34,6 @@ TEST(HttpMethod, Get) EXPECT_NE(get, HttpMethod::Delete); EXPECT_NE(get, HttpMethod::Patch); EXPECT_NE(get, HttpMethod("TRACE")); - EXPECT_NE(get, HttpMethod::Options); EXPECT_NE(get, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Head, get); @@ -43,7 +42,6 @@ TEST(HttpMethod, Get) EXPECT_NE(HttpMethod::Delete, get); EXPECT_NE(HttpMethod::Patch, get); EXPECT_NE(HttpMethod("TRACE"), get); - EXPECT_NE(HttpMethod::Options, get); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), get); } @@ -72,7 +70,6 @@ TEST(HttpMethod, Head) EXPECT_NE(head, HttpMethod::Delete); EXPECT_NE(head, HttpMethod::Patch); EXPECT_NE(head, HttpMethod("TRACE")); - EXPECT_NE(head, HttpMethod::Options); EXPECT_NE(head, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, head); @@ -81,7 +78,6 @@ TEST(HttpMethod, Head) EXPECT_NE(HttpMethod::Delete, head); EXPECT_NE(HttpMethod::Patch, head); EXPECT_NE(HttpMethod("TRACE"), head); - EXPECT_NE(HttpMethod::Options, head); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), head); } @@ -110,7 +106,6 @@ TEST(HttpMethod, Post) EXPECT_NE(post, HttpMethod::Delete); EXPECT_NE(post, HttpMethod::Patch); EXPECT_NE(post, HttpMethod("TRACE")); - EXPECT_NE(post, HttpMethod::Options); EXPECT_NE(post, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, post); @@ -119,7 +114,6 @@ TEST(HttpMethod, Post) EXPECT_NE(HttpMethod::Delete, post); EXPECT_NE(HttpMethod::Patch, post); EXPECT_NE(HttpMethod("TRACE"), post); - EXPECT_NE(HttpMethod::Options, post); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), post); } @@ -148,7 +142,6 @@ TEST(HttpMethod, Put) EXPECT_NE(put, HttpMethod::Delete); EXPECT_NE(put, HttpMethod::Patch); EXPECT_NE(put, HttpMethod("TRACE")); - EXPECT_NE(put, HttpMethod::Options); EXPECT_NE(put, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, put); @@ -157,7 +150,6 @@ TEST(HttpMethod, Put) EXPECT_NE(HttpMethod::Delete, put); EXPECT_NE(HttpMethod::Patch, put); EXPECT_NE(HttpMethod("TRACE"), put); - EXPECT_NE(HttpMethod::Options, put); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), put); } @@ -186,7 +178,6 @@ TEST(HttpMethod, Delete) EXPECT_NE(delete_, HttpMethod::Put); EXPECT_NE(delete_, HttpMethod::Patch); EXPECT_NE(delete_, HttpMethod("TRACE")); - EXPECT_NE(delete_, HttpMethod::Options); EXPECT_NE(delete_, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, delete_); @@ -195,7 +186,6 @@ TEST(HttpMethod, Delete) EXPECT_NE(HttpMethod::Put, delete_); EXPECT_NE(HttpMethod::Patch, delete_); EXPECT_NE(HttpMethod("TRACE"), delete_); - EXPECT_NE(HttpMethod::Options, delete_); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), delete_); } @@ -223,7 +213,6 @@ TEST(HttpMethod, Patch) EXPECT_NE(patch, HttpMethod::Post); EXPECT_NE(patch, HttpMethod::Put); EXPECT_NE(patch, HttpMethod::Delete); - EXPECT_NE(patch, HttpMethod::Options); EXPECT_NE(patch, HttpMethod("TRACE")); EXPECT_NE(patch, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); @@ -232,7 +221,6 @@ TEST(HttpMethod, Patch) EXPECT_NE(HttpMethod::Post, patch); EXPECT_NE(HttpMethod::Put, patch); EXPECT_NE(HttpMethod::Delete, patch); - EXPECT_NE(HttpMethod::Options, patch); EXPECT_NE(HttpMethod("TRACE"), patch); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), patch); } @@ -266,46 +254,9 @@ TEST(HttpMethod, Trace) EXPECT_NE(HttpMethod::Put, trace); EXPECT_NE(HttpMethod::Delete, trace); EXPECT_NE(HttpMethod::Patch, trace); - EXPECT_NE(HttpMethod::Options, trace); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), trace); } -TEST(HttpMethod, Options) -{ - HttpMethod const options = HttpMethod("OPTIONS"); - EXPECT_EQ(options.ToString(), "OPTIONS"); - - EXPECT_EQ(options, options); - EXPECT_EQ(options, HttpMethod("OPTIONS")); - EXPECT_EQ(HttpMethod("OPTIONS"), options); - - EXPECT_NE(options, HttpMethod("Options")); - EXPECT_NE(HttpMethod("Options"), options); - - EXPECT_NE(options, HttpMethod(std::string())); - EXPECT_NE(HttpMethod(std::string()), options); - - EXPECT_EQ(options, HttpMethod::Options); - - EXPECT_NE(options, HttpMethod::Get); - EXPECT_NE(options, HttpMethod::Head); - EXPECT_NE(options, HttpMethod::Post); - EXPECT_NE(options, HttpMethod::Put); - EXPECT_NE(options, HttpMethod::Delete); - EXPECT_NE(options, HttpMethod::Patch); - EXPECT_NE(options, HttpMethod("TRACE")); - EXPECT_NE(options, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); - - EXPECT_NE(HttpMethod::Get, options); - EXPECT_NE(HttpMethod::Head, options); - EXPECT_NE(HttpMethod::Post, options); - EXPECT_NE(HttpMethod::Put, options); - EXPECT_NE(HttpMethod::Delete, options); - EXPECT_NE(HttpMethod::Patch, options); - EXPECT_NE(HttpMethod("TRACE"), options); - EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), options); -} - TEST(HttpMethod, HawaiianFish) { HttpMethod const humuhumunukunukuapuaa = HttpMethod("HUMUHUMUNUKUNUKUAPUAA"); From d1bb184d51ce2a1d0256f09ee061c4d9ea3f95d4 Mon Sep 17 00:00:00 2001 From: George Arama Date: Thu, 11 Jan 2024 09:38:35 -0800 Subject: [PATCH 5/5] Revert "remove Options" This reverts commit 0da5d2c1f57133c22723208d6feb2c925e7f8103. --- .../azure-core/inc/azure/core/http/http.hpp | 6 +++ sdk/core/azure-core/src/http/http.cpp | 1 + .../azure-core/test/ut/http_method_test.cpp | 49 +++++++++++++++++++ 3 files changed, 56 insertions(+) diff --git a/sdk/core/azure-core/inc/azure/core/http/http.hpp b/sdk/core/azure-core/inc/azure/core/http/http.hpp index 2f01b05dfb..8d191b62f3 100644 --- a/sdk/core/azure-core/inc/azure/core/http/http.hpp +++ b/sdk/core/azure-core/inc/azure/core/http/http.hpp @@ -159,6 +159,12 @@ namespace Azure { namespace Core { namespace Http { */ AZ_CORE_DLLEXPORT const static HttpMethod Patch; + /** + * @brief The representation of an `OPTIONS` HTTP method based on [RFC 2616] + * (https://datatracker.ietf.org/doc/html/rfc2616). + */ + AZ_CORE_DLLEXPORT const static HttpMethod Options; + private: std::string m_value; }; // extensible enum HttpMethod diff --git a/sdk/core/azure-core/src/http/http.cpp b/sdk/core/azure-core/src/http/http.cpp index 90746f2a8c..6f2862bdb9 100644 --- a/sdk/core/azure-core/src/http/http.cpp +++ b/sdk/core/azure-core/src/http/http.cpp @@ -26,6 +26,7 @@ const HttpMethod HttpMethod::Post("POST"); const HttpMethod HttpMethod::Put("PUT"); const HttpMethod HttpMethod::Delete("DELETE"); const HttpMethod HttpMethod::Patch("PATCH"); +const HttpMethod HttpMethod::Options("OPTIONS"); namespace { bool IsInvalidHeaderNameChar(char c) diff --git a/sdk/core/azure-core/test/ut/http_method_test.cpp b/sdk/core/azure-core/test/ut/http_method_test.cpp index 2259e58471..105a18d3e5 100644 --- a/sdk/core/azure-core/test/ut/http_method_test.cpp +++ b/sdk/core/azure-core/test/ut/http_method_test.cpp @@ -34,6 +34,7 @@ TEST(HttpMethod, Get) EXPECT_NE(get, HttpMethod::Delete); EXPECT_NE(get, HttpMethod::Patch); EXPECT_NE(get, HttpMethod("TRACE")); + EXPECT_NE(get, HttpMethod::Options); EXPECT_NE(get, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Head, get); @@ -42,6 +43,7 @@ TEST(HttpMethod, Get) EXPECT_NE(HttpMethod::Delete, get); EXPECT_NE(HttpMethod::Patch, get); EXPECT_NE(HttpMethod("TRACE"), get); + EXPECT_NE(HttpMethod::Options, get); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), get); } @@ -70,6 +72,7 @@ TEST(HttpMethod, Head) EXPECT_NE(head, HttpMethod::Delete); EXPECT_NE(head, HttpMethod::Patch); EXPECT_NE(head, HttpMethod("TRACE")); + EXPECT_NE(head, HttpMethod::Options); EXPECT_NE(head, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, head); @@ -78,6 +81,7 @@ TEST(HttpMethod, Head) EXPECT_NE(HttpMethod::Delete, head); EXPECT_NE(HttpMethod::Patch, head); EXPECT_NE(HttpMethod("TRACE"), head); + EXPECT_NE(HttpMethod::Options, head); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), head); } @@ -106,6 +110,7 @@ TEST(HttpMethod, Post) EXPECT_NE(post, HttpMethod::Delete); EXPECT_NE(post, HttpMethod::Patch); EXPECT_NE(post, HttpMethod("TRACE")); + EXPECT_NE(post, HttpMethod::Options); EXPECT_NE(post, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, post); @@ -114,6 +119,7 @@ TEST(HttpMethod, Post) EXPECT_NE(HttpMethod::Delete, post); EXPECT_NE(HttpMethod::Patch, post); EXPECT_NE(HttpMethod("TRACE"), post); + EXPECT_NE(HttpMethod::Options, post); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), post); } @@ -142,6 +148,7 @@ TEST(HttpMethod, Put) EXPECT_NE(put, HttpMethod::Delete); EXPECT_NE(put, HttpMethod::Patch); EXPECT_NE(put, HttpMethod("TRACE")); + EXPECT_NE(put, HttpMethod::Options); EXPECT_NE(put, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, put); @@ -150,6 +157,7 @@ TEST(HttpMethod, Put) EXPECT_NE(HttpMethod::Delete, put); EXPECT_NE(HttpMethod::Patch, put); EXPECT_NE(HttpMethod("TRACE"), put); + EXPECT_NE(HttpMethod::Options, put); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), put); } @@ -178,6 +186,7 @@ TEST(HttpMethod, Delete) EXPECT_NE(delete_, HttpMethod::Put); EXPECT_NE(delete_, HttpMethod::Patch); EXPECT_NE(delete_, HttpMethod("TRACE")); + EXPECT_NE(delete_, HttpMethod::Options); EXPECT_NE(delete_, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); EXPECT_NE(HttpMethod::Get, delete_); @@ -186,6 +195,7 @@ TEST(HttpMethod, Delete) EXPECT_NE(HttpMethod::Put, delete_); EXPECT_NE(HttpMethod::Patch, delete_); EXPECT_NE(HttpMethod("TRACE"), delete_); + EXPECT_NE(HttpMethod::Options, delete_); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), delete_); } @@ -213,6 +223,7 @@ TEST(HttpMethod, Patch) EXPECT_NE(patch, HttpMethod::Post); EXPECT_NE(patch, HttpMethod::Put); EXPECT_NE(patch, HttpMethod::Delete); + EXPECT_NE(patch, HttpMethod::Options); EXPECT_NE(patch, HttpMethod("TRACE")); EXPECT_NE(patch, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); @@ -221,6 +232,7 @@ TEST(HttpMethod, Patch) EXPECT_NE(HttpMethod::Post, patch); EXPECT_NE(HttpMethod::Put, patch); EXPECT_NE(HttpMethod::Delete, patch); + EXPECT_NE(HttpMethod::Options, patch); EXPECT_NE(HttpMethod("TRACE"), patch); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), patch); } @@ -254,9 +266,46 @@ TEST(HttpMethod, Trace) EXPECT_NE(HttpMethod::Put, trace); EXPECT_NE(HttpMethod::Delete, trace); EXPECT_NE(HttpMethod::Patch, trace); + EXPECT_NE(HttpMethod::Options, trace); EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), trace); } +TEST(HttpMethod, Options) +{ + HttpMethod const options = HttpMethod("OPTIONS"); + EXPECT_EQ(options.ToString(), "OPTIONS"); + + EXPECT_EQ(options, options); + EXPECT_EQ(options, HttpMethod("OPTIONS")); + EXPECT_EQ(HttpMethod("OPTIONS"), options); + + EXPECT_NE(options, HttpMethod("Options")); + EXPECT_NE(HttpMethod("Options"), options); + + EXPECT_NE(options, HttpMethod(std::string())); + EXPECT_NE(HttpMethod(std::string()), options); + + EXPECT_EQ(options, HttpMethod::Options); + + EXPECT_NE(options, HttpMethod::Get); + EXPECT_NE(options, HttpMethod::Head); + EXPECT_NE(options, HttpMethod::Post); + EXPECT_NE(options, HttpMethod::Put); + EXPECT_NE(options, HttpMethod::Delete); + EXPECT_NE(options, HttpMethod::Patch); + EXPECT_NE(options, HttpMethod("TRACE")); + EXPECT_NE(options, HttpMethod("HUMUHUMUNUKUNUKUAPUAA")); + + EXPECT_NE(HttpMethod::Get, options); + EXPECT_NE(HttpMethod::Head, options); + EXPECT_NE(HttpMethod::Post, options); + EXPECT_NE(HttpMethod::Put, options); + EXPECT_NE(HttpMethod::Delete, options); + EXPECT_NE(HttpMethod::Patch, options); + EXPECT_NE(HttpMethod("TRACE"), options); + EXPECT_NE(HttpMethod("HUMUHUMUNUKUNUKUAPUAA"), options); +} + TEST(HttpMethod, HawaiianFish) { HttpMethod const humuhumunukunukuapuaa = HttpMethod("HUMUHUMUNUKUNUKUAPUAA");