Example #1
0
    def create(self, request):
        """Create a group.
        One POST parameter required, the group identifier (a string)
        ---
        # YAML
        omit_serializer: true
        parameters:
        - name: gid
          description: Group identifier
          required: true
          type: string
          paramType: form
        """
        telnet = request.telnet
        telnet.sendline('group -a')
        telnet.expect(r'Adding a new Group(.+)\n' + INTERACTIVE_PROMPT)
        if not 'gid' in request.data:
            raise MissingKeyError('Missing gid (group identifier)')
        telnet.sendline('gid ' + request.data['gid'] + '\n')
        telnet.expect(INTERACTIVE_PROMPT)
        telnet.sendline('ok\n')

        matched_index = telnet.expect([
            r'.+Successfully added(.+)\[(.+)\][\n\r]+' + STANDARD_PROMPT,
            r'.+Error: (.+)[\n\r]+' + INTERACTIVE_PROMPT,
            r'.+(.*)(' + INTERACTIVE_PROMPT + '|' + STANDARD_PROMPT + ')',
        ])
        if matched_index == 0:
            gid = telnet.match.group(2).strip()
            telnet.sendline('persist\n')
            return JsonResponse({'name': gid})
        else:
            raise ActionFailed(telnet.match.group(1))
Example #2
0
 def simple_group_action(self, telnet, action, gid):
     telnet.sendline('group -%s %s' % (action, gid))
     matched_index = telnet.expect([
         r'.+Successfully(.+)' + STANDARD_PROMPT,
         r'.+Unknown Group: (.+)' + STANDARD_PROMPT,
         r'.+(.*)' + STANDARD_PROMPT,
     ])
     if matched_index == 0:
         telnet.sendline('persist\n')
         return JsonResponse({'name': gid})
     elif matched_index == 1:
         raise ObjectNotFoundError('Unknown group: %s' % gid)
     else:
         raise ActionFailed(telnet.match.group(1))
Example #3
0
 def simple_smppccm_action(self, telnet, action, cid):
     telnet.sendline('smppccm -%s %s' % (action, cid))
     matched_index = telnet.expect([
         r'.+Successfully(.+)' + STANDARD_PROMPT,
         r'.+Unknown connector: (.+)' + STANDARD_PROMPT,
         r'(.*)' + STANDARD_PROMPT,
     ])
     if matched_index == 0:
         telnet.sendline('persist\n')
         return JsonResponse({'name': cid})
     elif matched_index == 1:
         raise ObjectNotFoundError('Unknown SMPP Connector: %s' % cid)
     else:
         raise ActionFailed(telnet.match.group(1))
Example #4
0
 def simple_httpccm_action(self, telnet, telnet_list, action, cid):
     telnet.sendline('httpccm -%s %s' % (action, cid))
     matched_index = telnet.expect([
         r'.+Successfully(.+)' + STANDARD_PROMPT,
         r'.+Unknown connector: (.+)' + STANDARD_PROMPT,
         r'(.*)' + STANDARD_PROMPT,
     ])
     if matched_index == 0:
         telnet.sendline('persist\n')
         if settings.JASMIN_DOCKER or settings.JASMIN_K8S:
             sync_conf_instances(telnet_list)
         return JsonResponse({'name': cid})
     elif matched_index == 1:
         raise ObjectNotFoundError('Unknown HTTP Connector: %s' % cid)
     else:
         raise ActionFailed(telnet.match.group(1))