test_observation_serialization.py 1012 B

1234567891011121314151617
  1. import pytest
  2. from opendevin.observation import observation_from_dict, Observation, CmdOutputObservation
  3. def test_observation_serialization_deserialization():
  4. original_observation_dict = {
  5. 'observation': 'run',
  6. 'extras': {'exit_code': 0, 'command': 'ls -l', 'command_id': 3},
  7. 'message': 'Command `ls -l` executed with exit code 0.',
  8. 'content': 'foo.txt',
  9. }
  10. observation_instance = observation_from_dict(original_observation_dict)
  11. assert isinstance(observation_instance, Observation), 'The observation instance should be an instance of Action.'
  12. assert isinstance(observation_instance, CmdOutputObservation), 'The observation instance should be an instance of AgentThinkAction.'
  13. serialized_observation_dict = observation_instance.to_dict()
  14. assert serialized_observation_dict == original_observation_dict, 'The serialized observation should match the original observation dict.'
  15. # Additional tests for various observation subclasses can be included here