File tree Expand file tree Collapse file tree 2 files changed +18
-3
lines changed
openwisp_controller/config Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -656,9 +656,11 @@ class method for ``post_delete`` signal
656656 # only invalidates, does not regenerate the cache
657657 # to avoid generating high load during bulk deletes
658658 instance .vpn ._invalidate_peer_cache ()
659-
660- if instance .cert :
661- instance .cert .delete ()
659+ try :
660+ if instance .cert :
661+ instance .cert .delete ()
662+ except ObjectDoesNotExist :
663+ pass
662664 try :
663665 if instance .ip :
664666 instance .ip .delete ()
Original file line number Diff line number Diff line change @@ -138,6 +138,19 @@ def test_vpn_client_auto_cert_deletes_cert(self):
138138 self .assertEqual (VpnClient .objects .filter (pk = vpnclient .pk ).count (), 0 )
139139 self .assertEqual (Cert .objects .filter (pk = cert_pk ).count (), 0 )
140140
141+ def test_vpn_client_cert_post_deletes_cert (self ):
142+ org = self ._get_org ()
143+ vpn = self ._create_vpn ()
144+ t = self ._create_template (name = 'vpn-test' , type = 'vpn' , vpn = vpn , auto_cert = True )
145+ c = self ._create_config (organization = org )
146+ c .templates .add (t )
147+ vpnclient = c .vpnclient_set .first ()
148+ cert_pk = vpnclient .cert .pk
149+ self .assertEqual (Cert .objects .filter (pk = cert_pk ).count (), 1 )
150+ vpnclient .cert .delete ()
151+ self .assertEqual (VpnClient .objects .filter (pk = vpnclient .pk ).count (), 0 )
152+ self .assertEqual (Cert .objects .filter (pk = cert_pk ).count (), 0 )
153+
141154 def test_vpn_cert_and_ca_mismatch (self ):
142155 ca = self ._create_ca ()
143156 different_ca = self ._create_ca (common_name = 'different-ca' )
You can’t perform that action at this time.
0 commit comments