# Cast Integration Tests This file contains notes about the integration tests under this directory, including how they tie into other systems or tests if relevant. ## Device Authentication The tests in `device_auth_test.cc` verify sender and receiver authentication code against each other to ensure we are at least self-consistent. These tests encompass successful device authentication, authentication errors, authenticating with a revocation list, and various revocation list failures. In order to enforce sender and receiver code separation, these tests can also record the protobuf data they generate for use in unit tests. For example, a `CastMessage` containing an `AuthChallenge` from sender code can be used as fixed input to receiver code. Currently, only receiver code uses this kind of data because the sender code just uses existing test data imported from Chromium. New test data may need to be generated if a bug is found in either sender or receiver code or if new test certificates need to be used. To generate new data, build and run `make_crl_tests` and run this specific integration test: ``` bash $ out/Debug/openscreen_unittests --gtest_filter=DeviceAuthTest.MANUAL_SerializeTestData ``` Note that this test will not run without being exactly named in the filter. The paths to which they will write are fixed and are the same as from where the tests expect to read.