當前位置: 首頁>>代碼示例>>Python>>正文


Python strategies.fixed_dictionaries方法代碼示例

本文整理匯總了Python中hypothesis.strategies.fixed_dictionaries方法的典型用法代碼示例。如果您正苦於以下問題:Python strategies.fixed_dictionaries方法的具體用法?Python strategies.fixed_dictionaries怎麽用?Python strategies.fixed_dictionaries使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在hypothesis.strategies的用法示例。


在下文中一共展示了strategies.fixed_dictionaries方法的13個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: chromeResponseReceived

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def chromeResponseReceived (reqid, url):
    mimeTypeSt = st.one_of (st.none (), st.just ('text/html'))
    remoteIpAddressSt = st.one_of (st.none (), st.just ('127.0.0.1'))
    protocolSt = st.one_of (st.none (), st.just ('h2'))
    statusCodeSt = st.integers (min_value=100, max_value=999)
    typeSt = st.sampled_from (['Document', 'Stylesheet', 'Image', 'Media',
            'Font', 'Script', 'TextTrack', 'XHR', 'Fetch', 'EventSource',
            'WebSocket', 'Manifest', 'SignedExchange', 'Ping',
            'CSPViolationReport', 'Other'])
    return st.fixed_dictionaries ({
            'requestId': reqid,
            'timestamp': timestamp,
            'type': typeSt,
            'response': st.fixed_dictionaries ({
                'url': url,
                'requestHeaders': chromeHeaders (), # XXX: make this optional
                'headers': chromeHeaders (),
                'status': statusCodeSt,
                'statusText': asciiText,
                'mimeType': mimeTypeSt,
                'remoteIPAddress': remoteIpAddressSt,
                'protocol': protocolSt,
                })
            }) 
開發者ID:PromyLOPh,項目名稱:crocoite,代碼行數:26,代碼來源:test_browser.py

示例2: generate_dictionary_with_fixed_tokens

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def generate_dictionary_with_fixed_tokens(draw):
    """
    Builds random nested dictionary structure which is then used as JSON to
    mask two fixed "token" keys.

    Structure is based on TEST_JSON sample fixture defined above.
    """
    base = draw(
        st.fixed_dictionaries({'token': st.text(printable, min_size=10)})
    )

    optional = draw(
        st.nothing() | st.dictionaries(
            st.text(ascii_letters, min_size=1),
            st.floats() | st.integers() | st.text(printable) | st.booleans()
            | st.nothing(),
            min_size=10,
            max_size=50
        )
    )

    return {**base, **optional} 
開發者ID:telepresenceio,項目名稱:telepresence,代碼行數:24,代碼來源:test_output_mask.py

示例3: merge_optional_dict_strategy

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def merge_optional_dict_strategy(required_fields, optional_fields):
    """Combine dicts of strings mapping to required and optional strategies.

    :param required_fields: Mapping containing required fields.
    :type required_fields: dict(str)
    :param optional_fields: Mapping containing optional fields.
    :type optional_fields: dict(str)
    """
    # Create a strategy for a set of keys from the optional dict strategy, then
    # a strategy to build those back into a dictionary.
    # Finally, merge the strategy of selected optionals with the required one.
    opt_keys = hy_st.sets(hy_st.sampled_from(list(optional_fields.keys())))
    selected_optionals = hy_st.builds(
        lambda dictionary, keys: {key: dictionary[key] for key in keys},
        hy_st.fixed_dictionaries(optional_fields),
        opt_keys)
    result = merge_dicts_strategy(hy_st.fixed_dictionaries(required_fields),
                                  selected_optionals)
    return result 
開發者ID:olipratt,項目名稱:swagger-conformance,代碼行數:21,代碼來源:basestrategies.py

示例4: header

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def header(header_class, **kwargs):
    """Create a strategy for producing headers of a specific class.

    Args:
        header_class: The type of header to be produced. This class will be
            introspected to determine suitable strategies for each named
            field.

        **kwargs: Any supplied keyword arguments can be used to fix the value
            of particular header fields.
    """

    field_strategies = {}
    for field_name in header_class.ordered_field_names():
        if field_name in kwargs:
            field_strategy = just(kwargs.pop(field_name))
        else:
            value_type = getattr(header_class, field_name).value_type
            if hasattr(value_type, 'ENUM'):
                field_strategy = sampled_from(sorted(value_type.ENUM))
            else:
                field_strategy = integers(value_type.MINIMUM, value_type.MAXIMUM)
        field_strategies[field_name] = field_strategy

    if len(kwargs) > 0:
        raise TypeError("Unrecognised binary header field names {} for {}".format(
            ', '.join(kwargs.keys()),
            header_class.__name__))

    return fixed_dictionaries(field_strategies) \
           .map(lambda kw: header_class(**kw)) 
開發者ID:sixty-north,項目名稱:segpy,代碼行數:33,代碼來源:strategies.py

示例5: fixed_dict_of_printable_strings

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def fixed_dict_of_printable_strings(keys, **overrides):
    """Create a strategy for producing a dictionary of strings with specific keys.

    Args:
        keys: A list of keys which the strategy will associate with arbitrary strings.

        **overrides: Specific keywords arguments can be supplied to associate certain keys
            with specific values.  The values supplied via kwargs override any supplied
            through the keys argument.
    """
    d = {key: text(alphabet=PRINTABLE_ASCII_ALPHABET) for key in keys}
    for keyword in overrides:
        d[keyword] = just(overrides[keyword])
    return fixed_dictionaries(d) 
開發者ID:sixty-north,項目名稱:segpy,代碼行數:16,代碼來源:strategies.py

示例6: urls

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def urls ():
    """ Build http/https URL """
    scheme = st.sampled_from (['http', 'https'])
    # Path must start with a slash
    pathSt = st.builds (lambda x: '/' + x, st.text ())
    args = st.fixed_dictionaries ({
            'scheme': scheme,
            'host': domains (),
            'port': st.one_of (st.none (), st.integers (min_value=1, max_value=2**16-1)),
            'path': pathSt,
            'query_string': st.text (),
            'fragment': st.text (),
            })
    return st.builds (lambda x: URL.build (**x), args) 
開發者ID:PromyLOPh,項目名稱:crocoite,代碼行數:16,代碼來源:test_browser.py

示例7: fixedDicts

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def fixedDicts (fixed, dynamic):
    return st.builds (lambda x, y: x.update (y), st.fixed_dictionaries (fixed), st.lists (dynamic)) 
開發者ID:PromyLOPh,項目名稱:crocoite,代碼行數:4,代碼來源:test_browser.py

示例8: chromeRequestWillBeSent

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def chromeRequestWillBeSent (reqid, url):
    methodSt = st.sampled_from (['GET', 'POST', 'PUT', 'DELETE'])
    return st.fixed_dictionaries ({
            'requestId': reqid,
            'initiator': st.just ('Test'),
            'wallTime': timestamp,
            'timestamp': timestamp,
            'request': st.fixed_dictionaries ({
                'url': url,
                'method': methodSt,
                'headers': chromeHeaders (),
                # XXX: postData, hasPostData
                })
            }) 
開發者ID:PromyLOPh,項目名稱:crocoite,代碼行數:16,代碼來源:test_browser.py

示例9: fuzz_parameters

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def fuzz_parameters(
    parameters: List[Tuple[str, Dict[str, Any]]],
) -> SearchStrategy:
    output = {}
    for name, parameter in parameters:
        output[name] = _fuzz_parameter(parameter)

    return st.fixed_dictionaries(output) 
開發者ID:Yelp,項目名稱:fuzz-lightyear,代碼行數:10,代碼來源:fuzzer.py

示例10: _fuzz_object

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def _fuzz_object(
    parameter: Dict[str, Any],
    **kwargs: Any,
) -> SearchStrategy:
    # TODO: Handle `additionalProperties`
    output = {}
    for name, specification in parameter['properties'].items():
        try:
            strategy = _get_strategy_from_factory(specification['type'], name)
        except KeyError:
            log.error(
                'Invalid swagger specification: expected \'type\'. Got \'{}\''.format(
                    json.dumps(specification),
                ),
            )
            raise

        if strategy:
            output[name] = strategy
            continue

        # `required` can be True, False, or an array of names that
        # are required.
        required = parameter.get('required', False)
        if required and isinstance(required, list):
            required = name in required

        output[name] = _fuzz_parameter(
            specification,
            bool(required),
        )

    return st.fixed_dictionaries(output) 
開發者ID:Yelp,項目名稱:fuzz-lightyear,代碼行數:35,代碼來源:fuzzer.py

示例11: to_min_max

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def to_min_max(arr: np.ndarray) -> st.SearchStrategy:
    bnd_shape = hnp.broadcastable_shapes(
        shape=arr.shape, max_dims=arr.ndim, max_side=min(arr.shape) if arr.ndim else 1
    )
    bnd_strat = hnp.arrays(
        shape=bnd_shape, elements=st.floats(-1e6, 1e6), dtype=np.float64
    )
    return st.fixed_dictionaries(dict(a_min=bnd_strat, a_max=bnd_strat)) 
開發者ID:rsokl,項目名稱:MyGrad,代碼行數:10,代碼來源:test_misc.py

示例12: gen_int_repeat_args

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def gen_int_repeat_args(arr: Tensor) -> st.SearchStrategy[dict]:
    valid_axis = st.none()
    valid_axis |= st.integers(-arr.ndim, arr.ndim - 1) if arr.ndim else st.just(0)
    return st.fixed_dictionaries(
        dict(repeats=st.integers(min_value=0, max_value=5), axis=valid_axis,)
    ) 
開發者ID:rsokl,項目名稱:MyGrad,代碼行數:8,代碼來源:test_tensor_manip.py

示例13: gen_enum

# 需要導入模塊: from hypothesis import strategies [as 別名]
# 或者: from hypothesis.strategies import fixed_dictionaries [as 別名]
def gen_enum() -> st.SearchStrategy[Dict[str, List[JSONType]]]:
    """Return a strategy for enum schema."""
    return st.fixed_dictionaries(
        {
            "enum": st.lists(
                JSON_STRATEGY, min_size=1, max_size=10, unique_by=encode_canonical_json
            )
        }
    ) 
開發者ID:Zac-HD,項目名稱:hypothesis-jsonschema,代碼行數:11,代碼來源:gen_schemas.py


注:本文中的hypothesis.strategies.fixed_dictionaries方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。