FOSSology  4.7.1
Open Source License Compliance by Open Source Software
test_scenarios.cc File Reference

Scenario tests for processUploadId (ReuserUtils.cc). More...

#include <cppunit/TestFixture.h>
#include <cppunit/extensions/HelperMacros.h>
#include "MockReuserDatabaseHandler.hpp"
#include "ReuserState.hpp"
#include "ReuserTypes.hpp"
Include dependency graph for test_scenarios.cc:

Go to the source code of this file.

Classes

class  ReuserScenarioTest
 

Functions

static bool runProcess (ReuserDatabaseHandler &db, int uploadId, int groupId, int userId)
 
 CPPUNIT_TEST_SUITE_REGISTRATION (ReuserScenarioTest)
 

Detailed Description

Scenario tests for processUploadId (ReuserUtils.cc).

Uses MockReuserDatabaseHandler with injectable callbacks to verify that the correct reuse path is taken and all arguments are forwarded correctly to processUploadReuse / processEnhancedUploadReuse based on the reuseMode bits stored in each ReuseTriple.

Covered scenarios:

  • No upload_reuse link -> no processing, success
  • Reuse link present, source upload has no decisions -> agent still succeeds
  • Correct arguments forwarded to processUploadReuse (uploadId, reusedUploadId, groupId, reusedGroupId, userId)
  • reuseMode == 0 -> standard reuse path regardless of clearing scope
  • REUSE_ENHANCED bit -> enhanced reuse path
  • Enhanced reuse failure propagates to caller
  • Multiple upload_reuse rows -> all links processed in order
  • REUSE_MAIN / REUSE_CONF / REUSE_COPYRIGHT bits -> only the matching optional method is called
  • reuseMode == 0 -> no optional methods called

Definition in file test_scenarios.cc.