osquery-1/tests/integration/tables/signature.cpp
George Guliashvili 52ef26e96e Use SQLITE_CONSTRAINT when required constraint does not exist (#5422)
Summary:
Pull Request resolved: https://github.com/facebook/osquery/pull/5422

We were just de-prioritizing type of queries not constraining required columns. However, when the query is just useless without specific constraint, sqlite suggestion is to return SQLITE_CONSTRAINT status.

Reviewed By: marekcirkos

Differential Revision: D13964562

fbshipit-source-id: ee0e5f8baf9abbf83c34f7a39d2b5bd705cbac6d
2019-02-07 03:14:38 -08:00

51 lines
1.3 KiB
C++

/**
* Copyright (c) 2014-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed as defined on the LICENSE file found in the
* root directory of this source tree.
*/
// Sanity check integration test for signature
// Spec file: specs/darwin/signature.table
#include <osquery/tests/integration/tables/helper.h>
namespace osquery {
namespace table_tests {
class signature : public testing::Test {
protected:
void SetUp() override {
setUpEnvironment();
}
};
TEST_F(signature, test_sanity) {
// 1. Query data
auto const data = execute_query("select * from signature where path = ''");
// 2. Check size before validation
// ASSERT_GE(data.size(), 0ul);
// ASSERT_EQ(data.size(), 1ul);
// ASSERT_EQ(data.size(), 0ul);
// 3. Build validation map
// See helper.h for avaialbe flags
// Or use custom DataCheck object
// ValidatatioMap row_map = {
// {"path", NormalType}
// {"hash_resources", IntType}
// {"arch", NormalType}
// {"signed", IntType}
// {"identifier", NormalType}
// {"cdhash", NormalType}
// {"team_identifier", NormalType}
// {"authority", NormalType}
//}
// 4. Perform validation
// validate_rows(data, row_map);
}
} // namespace table_tests
} // namespace osquery