Consistency in namespace-closing comments
[folly.git] / folly / io / async / test / SSLContextTest.cpp
1 /*
2  * Copyright 2017 Facebook, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <folly/io/async/SSLContext.h>
18 #include <folly/portability/GTest.h>
19
20 using namespace std;
21 using namespace testing;
22
23 namespace folly {
24
25 class SSLContextTest : public testing::Test {
26  public:
27   SSLContext ctx;
28   void verifySSLCipherList(const vector<string>& ciphers);
29 };
30
31 void SSLContextTest::verifySSLCipherList(const vector<string>& ciphers) {
32   int i = 0;
33   SSL* ssl = ctx.createSSL();
34   for (auto& cipher : ciphers) {
35     ASSERT_STREQ(cipher.c_str(), SSL_get_cipher_list(ssl, i++));
36   }
37   ASSERT_EQ(nullptr, SSL_get_cipher_list(ssl, i));
38   SSL_free(ssl);
39 }
40
41 TEST_F(SSLContextTest, TestSetCipherString) {
42   ctx.ciphers("AES128-SHA:ECDHE-RSA-AES256-SHA384");
43   verifySSLCipherList({"AES128-SHA", "ECDHE-RSA-AES256-SHA384"});
44 }
45
46 TEST_F(SSLContextTest, TestSetCipherList) {
47   const vector<string> ciphers = {"ECDHE-RSA-AES128-SHA", "AES256-SHA"};
48   ctx.setCipherList(ciphers);
49   verifySSLCipherList(ciphers);
50 }
51 }