Code Duplication    Length = 27-29 lines in 3 locations

tests/test_preferencehandler.py 3 locations

@@ 524-552 (lines=29) @@
521
            p.errors,
522
        )
523
524
    @patch('ospd_openvas.db.KbDB')
525
    def test_snmp_unknown_priv_alg_credentials(self, mock_kb):
526
        w = DummyDaemon()
527
528
        creds = {
529
            'snmp': {
530
                'type': 'snmp',
531
                'username': 'username',
532
                'password': 'pass',
533
                'community': 'some comunity',
534
                'auth_algorithm': 'sha1',
535
                'privacy_password': 'privacy pass',
536
                'privacy_algorithm': 'das',
537
            },
538
        }
539
540
        w.scan_collection.get_credentials = MagicMock(return_value=creds)
541
542
        p = PreferenceHandler('1234-1234', mock_kb, w.scan_collection, None)
543
        p.scan_id = '456-789'
544
        p.kbdb.add_scan_preferences = MagicMock()
545
        r = p.prepare_credentials_for_openvas()
546
547
        self.assertFalse(r)
548
        self.assertIn(
549
            "Unknows privacy algorithm used: "
550
            + "das"
551
            + ". Use 'aes', 'des' or '' (none).",
552
            p.errors,
553
        )
554
555
    @patch('ospd_openvas.db.KbDB')
@@ 582-608 (lines=27) @@
579
            p.errors,
580
        )
581
582
    @patch('ospd_openvas.db.KbDB')
583
    def test_snmp_unknown_auth_alg_credentials(self, mock_kb):
584
        w = DummyDaemon()
585
586
        creds = {
587
            'snmp': {
588
                'type': 'snmp',
589
                'username': 'username',
590
                'password': 'pass',
591
                'community': 'some comunity',
592
                'auth_algorithm': 'sha2',
593
            },
594
        }
595
596
        w.scan_collection.get_credentials = MagicMock(return_value=creds)
597
598
        p = PreferenceHandler('1234-1234', mock_kb, w.scan_collection, None)
599
        p.scan_id = '456-789'
600
        p.kbdb.add_scan_preferences = MagicMock()
601
        r = p.prepare_credentials_for_openvas()
602
603
        self.assertFalse(r)
604
        self.assertIn(
605
            "Unknown authentification algorithm: "
606
            + "sha2"
607
            + ". Use 'md5' or 'sha1'.",
608
            p.errors,
609
        )
610
611
    @patch('ospd_openvas.db.KbDB')
@@ 495-521 (lines=27) @@
492
            p.errors,
493
        )
494
495
    @patch('ospd_openvas.db.KbDB')
496
    def test_snmp_no_priv_alg_but_pw_credentials(self, mock_kb):
497
        w = DummyDaemon()
498
499
        creds = {
500
            'snmp': {
501
                'type': 'snmp',
502
                'username': 'username',
503
                'password': 'pass',
504
                'community': 'some comunity',
505
                'auth_algorithm': 'sha1',
506
                'privacy_password': 'privacy pass',
507
            },
508
        }
509
510
        w.scan_collection.get_credentials = MagicMock(return_value=creds)
511
512
        p = PreferenceHandler('1234-1234', mock_kb, w.scan_collection, None)
513
        p.scan_id = '456-789'
514
        p.kbdb.add_scan_preferences = MagicMock()
515
        r = p.prepare_credentials_for_openvas()
516
517
        self.assertFalse(r)
518
        self.assertIn(
519
            "When no privacy algorithm is used, the privacy"
520
            + " password also has to be empty.",
521
            p.errors,
522
        )
523
524
    @patch('ospd_openvas.db.KbDB')