Merged PR 278: Enable the red agent to vary its start node
## Summary - Made the data manipulation red agent be able to choose between the two clients to start operating on - changed the attacker name in the config to 'data_manipulation_attacker' to because it is no longer tied to any client - Updated the documentation notebook accordingly. - Fixed a bug where the database client made a new connection every time it sent a SQL query (it tries to reuse its most recent one instead) - Fixed a bug where link loads were not being cleared between episodes (?) **warning** - the green agents are not working properly after reset right now, but I'm gonna fix this in the next ticket where I refactor episode reset. ## Test process - unit tests pass - UC2 notebook passes with both clients. (currently this doesn't work after an episode reset, but the very next thing I'm gonna work on is refactoring the reset, so I don't want to waste time fixing this.) ## Checklist - [x] PR is linked to a **work item** - [x] **acceptance criteria** of linked ticket are met - [x] performed **self-review** of the code - [x] written **tests** for any new functionality added with this PR - [ ] updated the **documentation** if this PR changes or adds functionality - [ ] written/updated **design docs** if this PR implements new functionality - [x] updated the **change log** - [x] ran **pre-commit** checks for code style - [n] attended to any **TO-DOs** left in the code Related work items: #2232
This commit is contained in:
@@ -196,7 +196,11 @@ class DatabaseClient(Application):
|
||||
return False
|
||||
|
||||
if connection_id is None:
|
||||
connection_id = str(uuid4())
|
||||
if self.connections:
|
||||
connection_id = list(self.connections.keys())[-1]
|
||||
# TODO: if the most recent connection dies, it should be automatically cleared.
|
||||
else:
|
||||
connection_id = str(uuid4())
|
||||
|
||||
if not self.connections.get(connection_id):
|
||||
if not self.connect(connection_id=connection_id):
|
||||
|
||||
Reference in New Issue
Block a user