chromium/chromeos/ash/components/channel/channel_info_unittest.cc

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chromeos/ash/components/channel/channel_info.h"

#include <string>

#include "base/check_op.h"
#include "base/test/scoped_chromeos_version_info.h"
#include "base/time/time.h"
#include "build/branding_buildflags.h"
#include "components/version_info/version_info.h"
#include "testing/gtest/include/gtest/gtest.h"

namespace ash {

using ChannelInfoTest = testing::Test;

TEST_F(ChannelInfoTest, GetChannel) {
  constexpr char kLsbRelease[] = "CHROMEOS_RELEASE_TRACK=canary-channel";
  base::test::ScopedChromeOSVersionInfo version(kLsbRelease, base::Time());

#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
  EXPECT_EQ(version_info::Channel::CANARY, GetChannel());
#else
  EXPECT_EQ(version_info::Channel::UNKNOWN, GetChannel());
#endif  // BUILDFLAG(GOOGLE_CHROME_BRANDING)
}

TEST_F(ChannelInfoTest, GetChannelName) {
  constexpr char kLsbRelease[] = "CHROMEOS_RELEASE_TRACK=dev-channel";
  base::test::ScopedChromeOSVersionInfo version(kLsbRelease, base::Time());

#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
  EXPECT_EQ("dev", GetChannelName());
#else
  EXPECT_EQ(std::string(), GetChannelName());
#endif  // BUILDFLAG(GOOGLE_CHROME_BRANDING)
}

}  // namespace ash