JobModelTest.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <native/resourcecompiler/JobsModel.h>
  10. #include <native/tests/AssetProcessorTest.h>
  11. #include <native/tests/MockAssetDatabaseRequestsHandler.h>
  12. #include <AzToolsFramework/API/AssetDatabaseBus.h>
  13. #include <QCoreApplication>
  14. #include <tests/UnitTestUtilities.h>
  15. namespace AzToolsFramework
  16. {
  17. namespace AssetDatabase
  18. {
  19. class JobDatabaseEntry;
  20. }
  21. }
  22. class UnitTestJobModel
  23. : public AssetProcessor::JobsModel
  24. {
  25. public:
  26. ~UnitTestJobModel() override = default;
  27. friend class GTEST_TEST_CLASS_NAME_(JobModelUnitTests, Test_RemoveMiddleJob);
  28. friend class GTEST_TEST_CLASS_NAME_(JobModelUnitTests, Test_RemoveFirstJob);
  29. friend class GTEST_TEST_CLASS_NAME_(JobModelUnitTests, Test_RemoveLastJob);
  30. friend class GTEST_TEST_CLASS_NAME_(JobModelUnitTests, Test_RemoveAllJobsBySource);
  31. friend class GTEST_TEST_CLASS_NAME_(JobModelUnitTests, Test_RemoveAllJobsBySourceFolder);
  32. friend class GTEST_TEST_CLASS_NAME_(JobModelUnitTests, Test_PopulateJobsFromDatabase);
  33. friend class JobModelUnitTests;
  34. };
  35. class JobModelUnitTests
  36. : public AssetProcessor::AssetProcessorTest
  37. {
  38. public:
  39. void SetUp() override;
  40. void TearDown() override;
  41. void VerifyModel();
  42. UnitTestJobModel* m_unitTestJobModel;
  43. protected:
  44. struct StaticData
  45. {
  46. AssetProcessor::MockAssetDatabaseRequestsHandler m_databaseLocationListener;
  47. AssetProcessor::AssetDatabaseConnection m_connection;
  48. const AZStd::string m_sourceName{ "theFile.fbx" };
  49. AZStd::vector<AzToolsFramework::AssetDatabase::JobDatabaseEntry> m_jobEntries;
  50. UnitTests::MockPathConversion mockPathConversion{ "c:/test" };
  51. };
  52. AZStd::unique_ptr<StaticData> m_data;
  53. void CreateDatabaseTestData();
  54. };