riak / apps / luke / tests / lifecycle_tests.erl

%% This file is provided to you under the Apache License,
%% Version 2.0 (the "License"); you may not use this file
%% except in compliance with the License.  You may obtain
%% a copy of the License at

%%   http://www.apache.org/licenses/LICENSE-2.0

%% Unless required by applicable law or agreed to in writing,
%% software distributed under the License is distributed on an
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
%% KIND, either express or implied.  See the License for the
%% specific language governing permissions and limitations
%% under the License.

-module(lifecycle_tests).

-include_lib("eunit/include/eunit.hrl").
-include("tests.hrl").

setup_teardown_test_() ->
    [fun() ->
             %% Startup/teardown, no input
             {ok, Pid} = luke:new_flow(make_ref(), ?TWO_PHASE_FLOW),
             Phases = test_util:verify_phases(Pid, 2),
             exit(Pid, shutdown),
             timer:sleep(10),
             test_util:assertDead([Pid|Phases]) end,
     fun() ->
             %% Startup/teardown, infinity timeout, no input
             {ok, Pid} = luke:new_flow(self(), make_ref(), ?TWO_PHASE_FLOW, infinity),
             Phases = test_util:verify_phases(Pid, 2),
             exit(Pid, shutdown),
             timer:sleep(10),
             test_util:assertDead([Pid|Phases]) end,
     fun() ->
             %% Startup/teardown, input w/no end
             {ok, Pid} = luke:new_flow(make_ref(), ?TWO_PHASE_FLOW),
             Phases = test_util:verify_phases(Pid, 2),
             luke_flow:add_inputs(Pid, [100]),
             exit(Pid, shutdown),
             timer:sleep(10),
             test_util:assertDead([Pid|Phases]) end,
     fun() ->
             %% Startup/teardown, input w/finish
             {ok, Pid} = luke:new_flow(make_ref(), ?TWO_PHASE_FLOW),
             Phases = test_util:verify_phases(Pid, 2),
             luke_flow:add_inputs(Pid, [100]),
             luke_flow:add_inputs(Pid, [200]),
             luke_flow:finish_inputs(Pid),
             exit(Pid, shutdown),
             timer:sleep(10),
             test_util:assertDead([Pid|Phases]) end].
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.