sapling/eden/integration/service_log_test.py
Adam Simpkins 9bfb48c921 update license headers in .py files
Summary:
Update the copyright & license headers in Python files to reflect the
relicensing to GPLv2

Reviewed By: wez

Differential Revision: D15487088

fbshipit-source-id: 9f2138dff41048d2c35f15e09a04ae5a9c9c80dd
2019-06-19 17:02:46 -07:00

71 lines
2.4 KiB
Python

#!/usr/bin/env python3
# Copyright (c) Facebook, Inc. and its affiliates.
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2.
import pathlib
from .lib.fake_edenfs import FakeEdenFS
from .lib.service_test_case import (
ManagedFakeEdenFSMixin,
ServiceTestCaseBase,
service_test,
)
from .start_test import run_eden_start_with_real_daemon
class ServiceLogTestBase(ServiceTestCaseBase):
"""Test how the EdenFS service stores its logs.
"""
def setUp(self) -> None:
super().setUp()
self.eden_dir = pathlib.Path(self.make_temporary_directory())
@property
def log_file_path(self) -> pathlib.Path:
return self.eden_dir / "logs" / "edenfs.log"
@service_test
class ServiceLogFakeEdenFSTest(ServiceLogTestBase):
def test_fake_edenfs_writes_logs_to_file_in_eden_dir(self) -> None:
self.assertFalse(
self.log_file_path.exists(),
f"{self.log_file_path} should not exist before starting fake_edenfs",
)
with self.spawn_fake_edenfs(self.eden_dir):
self.assertTrue(
self.log_file_path.exists(),
f"fake_edenfs should create {self.log_file_path}",
)
self.assertIn("Starting fake edenfs daemon", self.log_file_path.read_text())
def test_fake_edenfs_appends_to_existing_log_file(self) -> None:
self.log_file_path.parent.mkdir(exist_ok=True, parents=True)
self.log_file_path.write_text("test log messages\n")
with self.spawn_fake_edenfs(self.eden_dir):
pass
self.assertIn("test log messages", self.log_file_path.read_text())
class ServiceLogRealEdenFSTest(ManagedFakeEdenFSMixin, ServiceLogTestBase):
def test_real_edenfs_writes_logs_to_file_in_eden_dir(self) -> None:
self.assertFalse(
self.log_file_path.exists(),
f"{self.log_file_path} should not exist before starting edenfs",
)
run_eden_start_with_real_daemon(
eden_dir=self.eden_dir,
etc_eden_dir=self.etc_eden_dir,
home_dir=self.home_dir,
systemd=False,
)
with FakeEdenFS.from_existing_process(eden_dir=self.eden_dir):
self.assertTrue(
self.log_file_path.exists(),
f"edenfs should create {self.log_file_path}",
)
self.assertIn("Starting edenfs", self.log_file_path.read_text())