blob: 593bbf162b1e017fbffea46118469c7c51b00ec9 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "smbfs/smb_filesystem.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
namespace smbfs {
namespace {
constexpr char kSharePath[] = "smb://server/share";
class TestSmbFilesystem : public SmbFilesystem {
public:
TestSmbFilesystem() : SmbFilesystem(kSharePath) {}
};
TEST(SmbFilesystem, SetResolvedAddress) {
TestSmbFilesystem fs;
// Initial value is share path.
EXPECT_EQ(kSharePath, fs.resolved_share_path());
fs.SetResolvedAddress({1, 2, 3, 4});
EXPECT_EQ("smb://1.2.3.4/share", fs.resolved_share_path());
fs.SetResolvedAddress({127, 0, 0, 1});
EXPECT_EQ("smb://127.0.0.1/share", fs.resolved_share_path());
// Invalid address does nothing.
fs.SetResolvedAddress({1, 2, 3});
EXPECT_EQ("smb://127.0.0.1/share", fs.resolved_share_path());
// Empty address resets to original share path.
fs.SetResolvedAddress({});
EXPECT_EQ(kSharePath, fs.resolved_share_path());
}
} // namespace
} // namespace smbfs