public function testJsonSerialize()
 {
     $data = ['groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 0, 'match' => '', 'description' => "", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_CLEAN];
     $expected = ['group_id' => 0, 'status_type' => Rule::RULE_TYPE_CODE, 'result' => 0, 'match' => '', 'description' => "", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_CLEAN];
     $rule = Rule::fromParams($data);
     $this->assertEquals($expected, $rule->jsonSerialize());
 }
Example #2
0
 /**
  * Fill the table with rules used with clamav
  */
 public function populate()
 {
     $descriptions = array(array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 0, 'match' => '', 'description' => "", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_CLEAN), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 1, 'match' => '', 'description' => "", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_INFECTED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 40, 'match' => '', 'description' => "Unknown option passed.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 50, 'match' => '', 'description' => "Database initialization error.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 52, 'match' => '', 'description' => "Not supported file type.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 53, 'match' => '', 'description' => "Can't open directory.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 54, 'match' => '', 'description' => "Can't open file. (ofm)", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 55, 'match' => '', 'description' => "Error reading file. (ofm)", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 56, 'match' => '', 'description' => "Can't stat input file / directory.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 57, 'match' => '', 'description' => "Can't get absolute path name of current working directory.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 58, 'match' => '', 'description' => "I/O error, please check your file system.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 62, 'match' => '', 'description' => "Can't initialize logger.", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 63, 'match' => '', 'description' => "Can't create temporary files/directories (check permissions).", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 64, 'match' => '', 'description' => "Can't write to temporary directory (please specify another one).", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 70, 'match' => '', 'description' => "Can't allocate memory (calloc).", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_CODE, 'result' => 71, 'match' => '', 'description' => "Can't allocate memory (malloc).", 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_MATCH, 'result' => 0, 'match' => '/.*: OK$/', 'description' => '', 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_CLEAN), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_MATCH, 'result' => 0, 'match' => '/.*: (.*) FOUND$/', 'description' => '', 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_INFECTED), array('groupId' => 0, 'statusType' => Rule::RULE_TYPE_MATCH, 'result' => 0, 'match' => '/.*: (.*) ERROR$/', 'description' => '', 'status' => \OCA\Files_Antivirus\Status::SCANRESULT_UNCHECKED));
     foreach ($descriptions as $description) {
         $rule = Rule::fromParams($description);
         $this->insert($rule);
     }
 }
 /**
  * Adds/Updates a rule
  * @param int $id
  * @param int $statusType
  * @param string $match
  * @param string $description
  * @param int $status
  * @return JSONResponse
  */
 public function save($id, $statusType, $match, $description, $status)
 {
     if ($id) {
         $rule = $this->ruleMapper->find($id);
     } else {
         $rule = new Rule();
     }
     $rule->setStatusType($statusType);
     $rule->setDescription($description);
     $rule->setStatus($status);
     if ($statusType === \OCA\Files_Antivirus\Db\Rule::RULE_TYPE_CODE) {
         $rule->setResult($match);
     } else {
         $rule->setMatch($match);
     }
     if ($id) {
         $newRule = $this->ruleMapper->update($rule);
     } else {
         $newRule = $this->ruleMapper->insert($rule);
     }
     return new JSONResponse($newRule);
 }