Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
0d1ca21
add requirements
rerpha Feb 27, 2025
e238b5c
Update and rename linter.yml to lint-and-test.yml
rerpha Feb 27, 2025
91dd0d3
Update lint-and-test.yml
rerpha Feb 27, 2025
aaa8665
Merge remote-tracking branch 'origin/master' into github_actions_run_…
rerpha Feb 27, 2025
8264ea6
fix validation.py
rerpha Feb 27, 2025
ee4ed50
revert back to patching CaChannel at setUp level for bskafka tests
rerpha Feb 27, 2025
5357ade
ruff
rerpha Feb 27, 2025
9f14279
add pytest
rerpha Feb 27, 2025
0e1d0af
remove ubuntu, py3.12
rerpha Feb 27, 2025
276e9d2
Update lint-and-test.yml
rerpha Feb 27, 2025
843db17
add our cachannel
rerpha Feb 27, 2025
6f72e05
Merge branch 'github_actions_run_pr_tests' of https://github.com/ISIS…
rerpha Feb 27, 2025
66f7552
add pysnmp
rerpha Feb 27, 2025
9c45bc3
add snmpsim-lextudio
rerpha Feb 27, 2025
089b361
fix mibs stuff
rerpha Feb 27, 2025
119a7c8
Merge remote-tracking branch 'origin/master' into github_actions_run_…
rerpha Feb 27, 2025
b3056e3
pyright lxml issue
rerpha Feb 27, 2025
3246083
remove jenkinsfile, remove run_test.pys
rerpha Feb 27, 2025
84563f1
make dev dependencies clearer
rerpha Feb 27, 2025
ac5871b
use isiscompgroup pcaspy
rerpha Feb 27, 2025
3aa2fca
add constraints
rerpha Feb 27, 2025
ea55b2b
Update lint-and-test.yml
rerpha Feb 27, 2025
76592bc
Update lint-and-test.yml
rerpha Feb 27, 2025
f0b6438
Update lint-and-test.yml
rerpha Feb 27, 2025
7edd977
Update lint-and-test.yml
rerpha Feb 27, 2025
73941d7
Update lint-and-test.yml
rerpha Feb 27, 2025
a619605
Update lint-and-test.yml
rerpha Feb 27, 2025
ad1089e
Update lint-and-test.yml
rerpha Feb 27, 2025
4cffac7
add --cov to pytest
rerpha Feb 27, 2025
20c0879
add lint-and-test-nightly.yml
rerpha Feb 27, 2025
40a182c
add nightly badge
rerpha Feb 27, 2025
8f48681
use requirements-dev.txt
rerpha Feb 27, 2025
00cb51c
Update lint-and-test.yml
rerpha Feb 27, 2025
b63df44
Update requirements-dev.txt
rerpha Feb 27, 2025
973b8ec
Update lint-and-test.yml
rerpha Mar 10, 2025
412bebc
Update lint-and-test.yml
rerpha Mar 10, 2025
88f22c1
Update lint-and-test.yml
rerpha Mar 10, 2025
dcfc389
Update lint-and-test.yml
rerpha Mar 10, 2025
dcec6c5
Update constraints.txt
rerpha Mar 10, 2025
77a2ea2
Update requirements.txt
rerpha Mar 10, 2025
84910f7
Update requirements.txt
rerpha Mar 10, 2025
1d534e8
Update requirements.txt
rerpha Mar 11, 2025
6a82bb6
Update requirements.txt
rerpha Mar 11, 2025
524965c
Update constraints.txt
rerpha Mar 11, 2025
b81ec0e
Update requirements.txt
rerpha Mar 11, 2025
8778c6c
remove the matrix
rerpha Mar 11, 2025
e76331f
fix lint-and-test-nightly.yml
rerpha Mar 11, 2025
783d2ec
Update requirements-dev.txt
rerpha Mar 11, 2025
5b8614c
Update README.md
rerpha Mar 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/workflows/lint-and-test-nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: lint-and-test-nightly
on:
schedule:
- cron: "0 0 * * *"

jobs:
lint-and-test-nightly:
uses: ./.github/workflows/lint-and-test.yml
24 changes: 24 additions & 0 deletions .github/workflows/lint-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Lint-and-test
on: [pull_request]
jobs:
call-workflow:
uses: ISISComputingGroup/reusable-workflows/.github/workflows/linters.yml@main
with:
compare-branch: origin/master
runs-on: windows-latest
python-ver: '3.11'
requirements-path: requirements-dev.txt
tests:
runs-on: "windows-latest"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: install requirements
run: pip install -r requirements-dev.txt
env:
PIP_CONSTRAINT: "constraints.txt"
- name: run tests (windows)
run: python -m pytest --cov

7 changes: 0 additions & 7 deletions .github/workflows/linter.yml

This file was deleted.

56 changes: 0 additions & 56 deletions ArchiverAccess/run_tests.py

This file was deleted.

55 changes: 0 additions & 55 deletions BlockServer/run_tests.py

This file was deleted.

54 changes: 0 additions & 54 deletions BlockServerToKafka/run_tests.py

This file was deleted.

26 changes: 12 additions & 14 deletions BlockServerToKafka/test_modules/test_block_server_monitor.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,33 +21,35 @@
from BlockServerToKafka.block_server_monitor import BlockServerMonitor


@patch("CaChannel.CaChannel")
class TestBlockServerMonitor(unittest.TestCase):
test_address = "TEST_ADDRESS"
test_prefix = "TEST_PREFIX"

def setUp(self):
@patch("CaChannel.CaChannel")
@patch("CaChannel.CaChannel.searchw")
@patch("CaChannel.CaChannel.add_masked_array_event")
@patch("CaChannel.CaChannel.field_type")
@patch("CaChannel.CaChannel.pend_event")
def setUp(self, *args, **kwargs):
self.mock_producer = MagicMock()
self.bs_monitor = BlockServerMonitor(
self.test_address, self.test_prefix, self.mock_producer
)

def test_WHEN_convert_one_char_to_string_THEN_returns_character(
self,
mock_ca_channel,
):
c = "a"
arr = [ord(c)]
self.assertEqual(c, self.bs_monitor.convert_to_string(bytearray(arr)))

def test_WHEN_convert_many_chars_to_string_THEN_returns_characters(self, mock_ca_channel):
def test_WHEN_convert_many_chars_to_string_THEN_returns_characters(self):
chars = "hello world"
arr = [ord(c) for c in chars]
self.assertEqual(chars, self.bs_monitor.convert_to_string(bytearray(arr)))

def test_WHEN_convert_chars_with_null_at_end_THEN_nulls_removed(
self,
mock_ca_channel,
):
chars = "hello world"
arr = [ord(c) for c in chars]
Expand All @@ -57,35 +59,31 @@ def test_WHEN_convert_chars_with_null_at_end_THEN_nulls_removed(

def test_WHEN_convert_chars_with_null_at_start_THEN_nulls_removed(
self,
mock_ca_channel,
):
chars = "hello world"
arr = [ord(c) for c in chars]
for i in range(3):
arr.insert(0, 0)
self.assertEqual(chars, self.bs_monitor.convert_to_string(bytearray(arr)))

def test_WHEN_convert_chars_with_nulls_in_centre_THEN_nulls_removed(self, mock_ca_channel):
def test_WHEN_convert_chars_with_nulls_in_centre_THEN_nulls_removed(self):
chars = "hello world"
arr = [ord(c) for c in chars]
arr.insert(4, 0)
self.assertEqual(chars, self.bs_monitor.convert_to_string(bytearray(arr)))

def test_WHEN_convert_nulls_THEN_empty_string_returned(
self,
mock_ca_channel,
):
arr = [0] * 10
self.assertEqual("", self.bs_monitor.convert_to_string(bytearray(arr)))

def test_GIVEN_no_previous_pvs_WHEN_update_config_called_THEN_producer_is_called(
self, mock_ca_channel
):
def test_GIVEN_no_previous_pvs_WHEN_update_config_called_THEN_producer_is_called(self):
self.bs_monitor.update_config(["BLOCK"])
self.mock_producer.add_config.assert_called_once()

def test_GIVEN_no_previous_pvs_WHEN_update_config_called_THEN_producer_is_called_containing_block_name(
self, mock_ca_channel
self,
):
block = "BLOCK"
self.bs_monitor.update_config([block])
Expand All @@ -94,15 +92,15 @@ def test_GIVEN_no_previous_pvs_WHEN_update_config_called_THEN_producer_is_called
)

def test_GIVEN_previous_pvs_WHEN_update_config_called_with_same_pvs_THEN_producer_is_not_called(
self, mock_ca_channel
self,
):
block = "BLOCK"
self.bs_monitor.update_config([block])
self.bs_monitor.update_config([block])
self.mock_producer.add_config.assert_called_once()

def test_GIVEN_previous_pvs_WHEN_update_config_called_with_different_pvs_THEN_producer_is_called(
self, mock_ca_channel
self,
):
self.bs_monitor.update_config(["OLD_BLOCK"])
self.mock_producer.reset_mock()
Expand Down
55 changes: 0 additions & 55 deletions ConfigVersionControl/run_tests.py

This file was deleted.

Loading