blob: bed7048337361ed22193441418aae262ef03fe06 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ash/crostini/baguette_download.h"
#include <array>
#include <cstring>
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace crostini {
namespace {
class BaguetteDownloadTest : public testing::Test {};
TEST_F(BaguetteDownloadTest, TestSha256File) {
base::ScopedTempDir dir;
ASSERT_TRUE(dir.CreateUniqueTempDir());
// Sha256File uses 4k block size, so make sure the file is multiple blocks and
// not a complete block.
const int bufSize = 4096 * 2 + 1;
std::array<uint8_t, bufSize> buf;
buf.fill('d');
auto path = dir.GetPath().Append("file");
const char* expected =
"B1AAAD3DBE85816D70C94C35B873D45F0C68F9D3B3DB6F6AB858A1560540E4DF";
ASSERT_TRUE(base::WriteFile(path, buf));
auto hash = Sha256FileForTesting(path);
ASSERT_EQ(hash, expected);
}
} // namespace
} // namespace crostini