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