Пример #1
0
def test_new_init_data_providers(monkeypatch):
    """Test creating new provider with new provider list."""
    monkeypatch.setattr(data_providers, "GeoLiteLookup", GeoIPLiteMock)

    data_providers.init(query_provider="LocalData", providers=[])
    dprov = data_providers.DataProviders.current()
    data_providers.init(query_provider="LocalData", providers=[])
    dprov2 = data_providers.DataProviders.current()
    check.equal(dprov2, dprov)

    # specify provider
    dprov = data_providers.DataProviders(query_provider="LocalData")
    data_providers.init(query_provider="LocalData", providers=["tilookup"])
    msticnb = sys.modules["msticnb"]
    dprov2 = data_providers.DataProviders.current()
    pkg_providers = getattr(msticnb, "data_providers")
    check.not_equal(dprov2, dprov)
    check.is_in("LocalData", dprov2.providers)
    check.is_in("tilookup", dprov2.providers)
    check.is_not_in("geolitelookup", dprov2.providers)
    check.is_not_in("ipstacklookup", dprov2.providers)
    check.is_in("LocalData", pkg_providers)
    check.is_in("tilookup", pkg_providers)
    check.is_not_in("geolitelookup", pkg_providers)
    check.is_not_in("ipstacklookup", pkg_providers)

    check.is_instance(dprov2.providers["tilookup"], TILookup)
Пример #2
0
def test_obfuscate_df():
    """Test obfuscation on DataFrame."""
    win_procs = pd.read_pickle(
        Path(TEST_DATA_PATH).joinpath("win_proc_test.pkl"))

    out_df = data_obfus.obfuscate_df(win_procs)

    check.equal(len(out_df), len(win_procs))
    for idx, row in win_procs.loc[:5].iterrows():
        for mapped_col in win_procs.columns:
            if data_obfus.OBFUS_COL_MAP.get(mapped_col) == "sid":
                # SIDs can be unchanged if well-known SID
                continue
            if mapped_col in data_obfus.OBFUS_COL_MAP:
                check.not_equal(row[mapped_col], out_df.loc[idx][mapped_col])
            else:
                check.equal(row[mapped_col], out_df.loc[idx][mapped_col])

        comp_uc, comp_ch = data_obfus.check_obfuscation(out_df,
                                                        win_procs,
                                                        index=idx)
        n_changed = len([
            col for col in win_procs.columns if col in data_obfus.OBFUS_COL_MAP
        ])
        n_unchanged = len(win_procs.columns) - n_changed
        # number of unchanged might be one less since some SIDs are not hashed
        check.is_true(len(comp_uc) in [n_unchanged, n_unchanged + 1])
        check.is_true(len(comp_ch) in [n_changed, n_changed - 1])
Пример #3
0
def test_entity_merge():
    """Entity comparison and merging."""
    host1 = Host(HostName="host1",
                 DnsDomain="contoso.com",
                 OSFamily=OSFamily.Windows)
    host2 = Host(HostName="host1",
                 DnsDomain="contoso.com",
                 IsDomainJoined=True)
    host3 = Host(HostName="host3", DnsDomain="contoso.com")

    check.not_equal(host1, host2)
    check.not_equal(host1, host3)

    check.is_true(host1.is_equivalent(host2))
    check.is_false(host1.is_equivalent(host3))
    check.is_false(host2.is_equivalent(host3))

    check.is_true(host1.can_merge(host2))
    check.is_false(host1.can_merge(host3))

    host4 = host1.merge(host2)
    check.equal(host4.HostName, "host1")
    check.equal(host4.OSFamily, OSFamily.Windows)
    check.equal(host4.DnsDomain, "contoso.com")
    check.is_true(host4.IsDomainJoined)
def test_consume_fuel_card_balance_float(db, api, data):
    user_name = data['USER_WITH_TWO_CARDS'][0]
    user_id = db.get_user_id(user_name)
    card_number = data['USED_CARD']
    balance = float(data['AMOUNT'])
    res = api.consume_fuel_card(user_id, card_number, balance)

    check.not_equal(200, res['code'])
    check.not_equal('消费成功!', res['msg'])
    check.is_false(res['success'])
Пример #5
0
def test_classify_frames():
    frame_list1 = example_job2.classify_frames()
    frame_list = example_job1.classify_frames()
    check.equal(frame_list1[0][0], 0)
    check.less(frame_list1[0][1], 0.7)
    check.not_equal(frame_list1[1][0], 5)
    check.greater(frame_list1[1][1], 0.7)

    check.equal(frame_list[0][0], 0)
    check.less(frame_list[0][1], 0.7)
    check.not_equal(frame_list[1][0], 4)
    check.greater(frame_list[1][1], 0.7)
Пример #6
0
    def test_different_seed_different_requirements_graph(self):
        env = RandomCraftingEnv(seed=42, **self.env_settings)
        env2 = RandomCraftingEnv(seed=43, **self.env_settings)

        check.not_equal(env.rng_seeds, env2.rng_seeds)

        check.is_false(
            is_isomorphic(
                env.world.get_requirements_graph(),
                env2.world.get_requirements_graph(),
            )
        )
Пример #7
0
def test_extract_header_nosip():
    header = fits.Header.fromstring(_base_header + _wcs_no_sip, sep='\n')
    h, wcs = extract_header_wcs(header)
    check.is_instance(wcs, WCS)
    check.equal(wcs.wcs.ctype[0], 'RA---TAN')
    check.equal(wcs.wcs.ctype[1], 'DEC--TAN')
    check.is_instance(h, fits.Header)
    for i in _comon_wcs_keys:
        check.is_not_in(f'{i}1', h.keys())
        check.is_not_in(f'{i}2', h.keys())
    check.is_in('DATE-OBS', h.keys())
    check.is_false(h is header)
    check.not_equal(h, header)
Пример #8
0
def test_class_doc():
    """Test class documentation."""
    for _, nblt in nblts.iter_classes():
        html_doc = nblt.get_help()
        check.not_equal(html_doc, "No documentation available.")
        check.greater(len(html_doc), 100)

        md_doc = nblt.get_help(fmt="md")
        html_doc2 = markdown(md_doc)
        check.equal(html_doc, html_doc2)

        _html_parser = etree.HTMLParser(recover=False)
        elem_tree = etree.parse(StringIO(html_doc), _html_parser)
        check.is_not_none(elem_tree)
Пример #9
0
def test_pandas_accessor():
    """Test obfuscation with pandas accessor."""
    win_procs = pd.read_pickle(Path(TEST_DATA_PATH).joinpath("win_proc_test.pkl"))

    out_df = win_procs.mp_mask.mask()
    check.equal(len(out_df), len(win_procs))
    for idx, row in win_procs.loc[:2].iterrows():
        for mapped_col in win_procs.columns:
            if data_obfus.OBFUS_COL_MAP.get(mapped_col) == "sid":
                # SIDs can be unchanged if well-known SID
                continue
            if mapped_col in data_obfus.OBFUS_COL_MAP:
                check.not_equal(row[mapped_col], out_df.loc[idx][mapped_col])
            else:
                check.equal(row[mapped_col], out_df.loc[idx][mapped_col])
    def test_auth(self):
        test_url = self.test_data['get_files_url']

        # no headers
        res1 = requests.post(test_url)
        # no authorization headers
        res2 = requests.post(test_url, headers=self.test_data['invalid_headers']['no_authorization'])
        # invalid scheme
        res3 = requests.post(test_url, headers=self.test_data['invalid_headers']['invalid_scheme'])
        # invalid token
        res4 = requests.post(test_url, headers=self.test_data['invalid_headers']['invalid_token'])
        # valid token ( no data sent)
        res5 = requests.post(test_url, headers=self.test_data['headers'])

        check.equal(res1.status_code, 401)
        check.equal(res2.status_code, 401)
        check.equal(res3.status_code, 401)
        check.equal(res4.status_code, 401)
        check.not_equal(res5.status_code, 401)
Пример #11
0
def test_file_browser():
    """Function_docstring."""
    f_brow = FileBrowser(".", select_cb=_callback)
    starting_folder = f_brow.current_folder
    check.greater(len(f_brow.select_file.options), 0)
    check.greater(len(f_brow.select_folder.options), 0)
    check.is_in("..", f_brow.select_folder.options)
    curr_files = f_brow.select_file.options
    check.equal(curr_files, f_brow.select_file.options)
    f_brow._open_folder(tgt_folder="msticpy")
    check.not_equal(curr_files, f_brow.select_file.options)

    f_brow.txt_path.value = str(starting_folder)
    f_brow._enter_folder(event=None)
    check.greater(len(f_brow.select_file.options), 0)
    f_brow.select_file.selected_index = 1
    f_brow._return_file(btn=None)
    check.equal(file_name, f_brow.file)

    f_brow.txt_search.value = "*.py"
    f_brow._search(f_brow.btn_search)
    check.greater(len(f_brow.select_search.options), 0)
Пример #12
0
def test_add_sub_data_providers(monkeypatch):
    """Test intializing adding and subtracting providers."""
    monkeypatch.setattr(data_providers, "GeoLiteLookup", GeoIPLiteMock)

    dprov = data_providers.DataProviders(query_provider="LocalData")
    data_providers.init(query_provider="LocalData", providers=["tilookup"])
    msticnb = sys.modules["msticnb"]
    dprov2 = data_providers.DataProviders.current()

    # Add and remove a provider from defaults
    data_providers.init(
        query_provider="LocalData", providers=["+ipstacklookup", "-geolitelookup"]
    )

    dprov3 = data_providers.DataProviders.current()
    pkg_providers = getattr(msticnb, "data_providers")
    check.not_equal(dprov3, dprov)
    check.not_equal(dprov3, dprov2)
    check.is_in("ipstacklookup", dprov3.providers)
    check.is_not_in("geolitelookup", dprov3.providers)
    check.is_in("tilookup", dprov3.providers)
    check.is_in("ipstacklookup", pkg_providers)
    check.is_not_in("geolitelookup", pkg_providers)
    check.is_in("tilookup", pkg_providers)
Пример #13
0
def test_not_equal():
    check.not_equal(1, 2)
Пример #14
0
    def check_arr(arr, a):
        arr_flags = arr.flags
        a_flags = a.flags
        for i in [
                'C_CONTIGUOUS', 'F_CONTIGUOUS', 'WRITEABLE', 'ALIGNED',
                'WRITEBACKIFCOPY', 'UPDATEIFCOPY', 'FNC', 'FORC', 'BEHAVED',
                'CARRAY', 'FARRAY'
        ]:
            check.equal(arr_flags[i], a_flags[i])
        for i in ['OWNDATA']:
            if memmap:
                check.not_equal(arr_flags[i], a_flags[i])
            else:
                check.equal(arr_flags[i], a_flags[i])

        if memmap:
            check.is_instance(a.base, mmap.mmap)
        else:
            check.is_true(a.base is None)

        check.equal(arr.shape, a.shape)
        check.equal(arr.strides, a.strides)
        check.equal(arr.ndim, a.ndim)
        check.equal(arr.data, a.data)
        check.equal(arr.size, a.size)
        check.equal(arr.itemsize, a.itemsize)
        check.equal(arr.nbytes, a.nbytes)
        check.equal(arr.dtype, a.dtype)

        check.is_instance(a.tolist(), list)
        check.equal(arr.tolist(), a.tolist())
        check.is_instance(a.tostring(), bytes)
        check.equal(arr.tostring(), a.tostring())
        check.is_instance(a.tobytes(), bytes)
        check.equal(arr.tobytes(), a.tobytes())
        check.is_instance(a.dumps(), bytes)
        # FIXME: check.equal(arr.dumps(), a.dumps())

        npt.assert_array_equal(arr.T, a.T)
        npt.assert_array_equal(arr.transpose(), a.transpose())
        npt.assert_array_equal(arr.flatten(), a.flatten())
        npt.assert_array_equal(arr.ravel(), a.ravel())
        npt.assert_array_equal(arr.squeeze(), a.squeeze())
        npt.assert_array_equal(arr.argsort(), a.argsort())
        npt.assert_array_equal(arr.argpartition(1), a.argpartition(1))
        npt.assert_array_equal(arr.nonzero(), a.nonzero())
        check.equal(arr.max(), a.max())
        check.equal(arr.argmax(), a.argmax())
        check.equal(arr.min(), a.min())
        check.equal(arr.argmin(), a.argmin())
        npt.assert_array_equal(arr.max(axis=0), a.max(axis=0))
        npt.assert_array_equal(arr.min(axis=0), a.min(axis=0))
        npt.assert_array_equal(arr.argmax(axis=0), a.argmax(axis=0))
        npt.assert_array_equal(arr.argmin(axis=0), a.argmin(axis=0))
        npt.assert_array_equal(arr.real, a.real)
        npt.assert_array_equal(arr.imag, a.imag)
        npt.assert_array_equal(arr.round(), a.round())
        check.equal(arr.sum(), a.sum())
        npt.assert_array_equal(arr.sum(axis=0), a.sum(axis=0))
        npt.assert_array_equal(arr.cumsum(), a.cumsum())
        npt.assert_array_equal(arr.cumsum(axis=0), a.cumsum(axis=0))
        check.equal(arr.mean(), a.mean())
        npt.assert_array_equal(arr.mean(axis=0), a.mean(axis=0))
        check.equal(arr.var(), a.var())
        npt.assert_array_equal(arr.var(axis=0), a.var(axis=0))
        check.equal(arr.std(), a.std())
        npt.assert_array_equal(arr.std(axis=0), a.std(axis=0))
        check.equal(arr.prod(), a.prod())
        npt.assert_array_equal(arr.prod(axis=0), a.prod(axis=0))
        npt.assert_array_equal(arr.cumprod(), a.cumprod())
        npt.assert_array_equal(arr.cumprod(axis=0), a.cumprod(axis=0))

        for i, j in zip(arr.flat, a.flat):
            check.equal(i, j)
        for i in range(9):
            check.equal(arr.item(i), a.item(i))

        npt.assert_array_equal(arr.astype(bool), a.astype(bool))
        npt.assert_array_equal(arr.astype(int), a.astype(int))

        check.equal(arr.all(), a.all())
        check.equal(arr.any(), a.any())