Пример #1
0
class DisseminationStatus(ComplexModel):

    __namespace__ = "http://dissemination.harness.openwis.org/"

    requestId = Unicode.customize(sub_ns="")
    requestStatus = Unicode(
        values=[REQ_STATUS.ongoing, REQ_STATUS.succeeded, REQ_STATUS.failed
                ]).customize(sub_ns="")
    message = Unicode.customize(sub_ns="")

    def __init__(self, requestId, requestStatus, message):

        super(DisseminationStatus, self).__init__()
        self.requestId = requestId
        self.requestStatus = requestStatus
        self.message = message
Пример #2
0
class SDPSimulator(ServiceBase):
    @rpc(UserCredential, Unicode, Unicode.customize(max_occurs=50), Unicode, Integer,
         _returns=SendSmsReturn.customize(sub_name='return'))
    def sendSms(ctx, userCredential, srcAddress, regionIds, msgBody, maxSendCount):
        order_id = randint(1000000, 99999999999999)
        exist_number_count = randint(1, maxSendCount)

        if userCredential.username is None:
            return SendSmsReturn(errorMsg='Username is empty.', status=status.SEND_USERNAME_NOT_SPECIFIED)
        elif userCredential.password is None:
            return SendSmsReturn(errorMsg='Password is empty.', status=status.SEND_PASSWORD_NOT_SPECIFIED)
        elif srcAddress is None:
            return SendSmsReturn(errorMsg='source number is empty.', status=status.SEND_SRC_NOT_SPECIFIED)
        elif regionIds is None:
            return SendSmsReturn(errorMsg='Region ID not found: 0', status=status.SEND_RECEIVER_NOT_FOUND)
        elif msgBody is None:
            return SendSmsReturn(errorMsg='message body is empty.', status=status.SEND_MSG_BODY_NOT_SPECIFIED)
        elif msgBody is None:
            return SendSmsReturn(errorMsg='message body is empty.', status=status.SEND_MSG_BODY_NOT_SPECIFIED)
        elif maxSendCount is None:
            return SendSmsReturn(errorMsg='maxSendCount should be greater than 0',
                                 status=status.SEND_MAX_SEND_COUNT_INVALID)
        elif maxSendCount > 2000:
            return SendSmsReturn(errorMsg='maxSendCount should be lower than 2000',
                                 status=status.SEND_MAX_SEND_COUNT_EXCEEDED)
        else:
            return SendSmsReturn(status=0, existsNumberCount=exist_number_count, orderId=order_id)

    @rpc(UserCredential, Integer, _returns=GetReportReturn.customize(sub_name='return'))
    def getReportByOrderId(ctx, userCredential, orderIds):
        total_sent = randint(1, 2000)
        success_delivered = randint(10, total_sent)
        init_date = int(1000 * (time.time() - randint(1, 7200)))

        if userCredential.username is None:
            return GetReportReturn(errorMsg='Username is empty.', status=status.SEND_USERNAME_NOT_SPECIFIED)
        elif userCredential.password is None:
            return GetReportReturn(errorMsg='Password is empty.', status=status.SEND_PASSWORD_NOT_SPECIFIED)
        else:
            report_items = ReportItems(initDate=init_date, orderId=orderIds, successDelivered=success_delivered,
                                       totalSent=total_sent)
            result = GetReportReturn(status=0, reportItem=report_items)
            return result
Пример #3
0
 def test_simple_type_explicit_customization(self):
     assert Unicode(max_len=5).__extends__ is not None
     assert Unicode.customize(max_len=5).__extends__ is not None
Пример #4
0
 def test_simple_type_explicit_customization(self):
     assert Unicode(max_len=5).__extends__ is not None
     assert Unicode.customize(max_len=5).__extends__ is not None
Пример #5
0
# -*- encoding: utf-8 -*-
'''
Implementation of the internap authentication token server.
'''
from __future__ import print_function

import logging

from spyne.service import ServiceBase
from spyne.decorator import rpc
from spyne.model.complex import ComplexModel
from spyne.model.primitive import Integer, Unicode
from spyne.util.simple import wsgi_soap_application


StringType = Unicode.customize(type_name='string', nillable=False)


class Authenticate(ComplexModel):
    strAccount = StringType
    strToken = StringType
    strReferrer = StringType
    strSourceURL = StringType
    strClientIP = StringType

    class Attributes(ComplexModel.Attributes):
        nillable = False
        min_occurs = 1


class AuthenticateResponse(ComplexModel):