#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "content/browser/web_package/signed_exchange_envelope.h"
#include <string_view>
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/functional/callback.h"
#include "base/path_service.h"
#include "components/cbor/values.h"
#include "components/cbor/writer.h"
#include "content/browser/web_package/signed_exchange_consts.h"
#include "content/browser/web_package/signed_exchange_prologue.h"
#include "content/public/common/content_paths.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace content {
namespace {
const char kSignatureString[] = …;
cbor::Value CBORByteString(const char* str) { … }
std::optional<SignedExchangeEnvelope> GenerateHeaderAndParse(
SignedExchangeVersion version,
std::string_view fallback_url,
std::string_view signature,
const std::map<const char*, const char*>& response_map) { … }
}
class SignedExchangeEnvelopeTest
: public ::testing::TestWithParam<SignedExchangeVersion> { … };
TEST_P(SignedExchangeEnvelopeTest, ParseGoldenFile) { … }
TEST_P(SignedExchangeEnvelopeTest, ValidHeader) { … }
TEST_P(SignedExchangeEnvelopeTest, InformationalResponseCode) { … }
TEST_P(SignedExchangeEnvelopeTest, RelativeURL) { … }
TEST_P(SignedExchangeEnvelopeTest, HttpURLShouldFail) { … }
TEST_P(SignedExchangeEnvelopeTest, RedirectStatusShouldFail) { … }
TEST_P(SignedExchangeEnvelopeTest, Status300ShouldFail) { … }
TEST_P(SignedExchangeEnvelopeTest, StatefulResponseHeader) { … }
TEST_P(SignedExchangeEnvelopeTest, UppercaseResponseMap) { … }
TEST_P(SignedExchangeEnvelopeTest, InvalidValidityURLHeader) { … }
TEST_P(SignedExchangeEnvelopeTest, NoContentType) { … }
TEST_P(SignedExchangeEnvelopeTest, XContentTypeOptionsShouldBeOverwritten) { … }
TEST_P(SignedExchangeEnvelopeTest, InnerResponseIsSXG) { … }
TEST_P(SignedExchangeEnvelopeTest, CacheControlNoStore) { … }
TEST_P(SignedExchangeEnvelopeTest, CacheControlSecondValueIsNoStore) { … }
TEST_P(SignedExchangeEnvelopeTest, CacheControlPrivateWithValue) { … }
TEST_P(SignedExchangeEnvelopeTest, CacheControlNoStoreInQuotedString) { … }
TEST_P(SignedExchangeEnvelopeTest, CacheControlParseError) { … }
INSTANTIATE_TEST_SUITE_P(…);
}